Subversion Repositories Kolibri OS

Rev

Rev 2427 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2349 Serge 1
 
2
#include 
3
#include 
4
#include 
5
#include 
6
#include 
7
#include "../winlib/winlib.h"
2427 Serge 8
#include "fplay.h"
2349 Serge 9
10
 
11
12
 
13
{
14
    uint32_t tmp;
15
16
 
17
"0:\n\t"
18
    "mov %0, %1\n\t"
19
    "testl %1, %1\n\t"
20
    "jz 1f\n\t"
21
22
 
23
    "movl $1,  %%ebx\n\t"
24
    "int  $0x40\n\t"
25
    "jmp 0b\n\t"
26
"1:\n\t"
27
    "incl %1\n\t"
28
    "xchgl %0, %1\n\t"
29
    "testl %1, %1\n\t"
30
    "jnz 0b\n"
31
    : "+m" (*val), "=&r"(tmp)
32
    ::"eax","ebx" );
33
}
34
35
 
36
 
37
{
38
    int off = offset;
39
    return lseek(fd, off, origin);
40
}
41
42
 
43
 
44
{
45
    AVPacketList *q_pkt;
46
47
 
48
//    if (av_dup_packet(pkt) < 0)
3068 serge 49
//        return -1;
50
2349 Serge 51
 
52
    if (!q_pkt)
53
        return -1;
54
55
 
56
    q_pkt->next = NULL;
57
58
 
59
60
 
61
        q->first_pkt = q_pkt;
62
    else
63
        q->last_pkt->next = q_pkt;
64
65
 
66
    q->size += q_pkt->pkt.size + sizeof(*q_pkt);
67
    q->count++;
68
69
 
70
71
 
72
}
73
74
 
75
{
76
    AVPacketList *q_pkt;
77
    int ret = 0;
78
79
 
80
81
 
82
    if (q_pkt)
83
    {
84
        q->first_pkt = q_pkt->next;
85
        if (!q->first_pkt)
86
            q->last_pkt = NULL;
87
88
 
89
        q->size -= q_pkt->pkt.size + sizeof(*q_pkt);
90
        *pkt = q_pkt->pkt;
91
        av_free(q_pkt);
92
        ret = 1;
93
    };
94
95
 
96
97
 
98
}
99