annotate libao2/ao_mpegpes.c @ 16946:47c5e9846cd3

ultra simple&slow pp filter, yes yet another spp like filter :) this one does actually compress&decompress the video at various shifts with lavc while the other spp filters are doing optimized intra only filtering limitations: mpeg4 is hardcoded, all options too, pretty trivial to change though, even filtering with non dct codecs like snow could be tried ... the qscale/qp is only taken fron the first MB of each image and then used for the whole image (would needs some small changes to lavc to let the user set the qscales for the mbs themselfs but iam to lazy ...) this needs ALOT of cpu time and memory especially at uspp=8 ...
author michael
date Tue, 08 Nov 2005 13:15:19 +0000
parents 815f03b7cee5
children f580a7755ac5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
1 #include <stdio.h>
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
2 #include <stdlib.h>
7472
c4434bdf6e51 tons of warning fixes, also some 10l bugfixes, including Dominik's PVA bug
arpi
parents: 7164
diff changeset
3 #include <string.h>
9411
arpi
parents: 9265
diff changeset
4
14123
a92101a7eb49 Make include paths consistent.
diego
parents: 13383
diff changeset
5 #include "config.h"
9411
arpi
parents: 9265
diff changeset
6
arpi
parents: 9265
diff changeset
7 #ifdef HAVE_DVB_HEAD
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
8 #define HAVE_DVB 1
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
9 #endif
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
10
6856
23221df30608 no need for ioctl.h if not using dvb
rfelker
parents: 5060
diff changeset
11 #ifdef HAVE_DVB
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
12 #include <sys/ioctl.h>
6856
23221df30608 no need for ioctl.h if not using dvb
rfelker
parents: 5060
diff changeset
13 #endif
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
14
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
15 #include "audio_out.h"
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
16 #include "audio_out_internal.h"
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
17
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
18 #include "libaf/af_format.h"
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
19
14123
a92101a7eb49 Make include paths consistent.
diego
parents: 13383
diff changeset
20 #include "mp_msg.h"
a92101a7eb49 Make include paths consistent.
diego
parents: 13383
diff changeset
21 #include "help_mp.h"
7161
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
22
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
23 #ifdef HAVE_DVB
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
24 #ifndef HAVE_DVB_HEAD
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
25 #include <ost/audio.h>
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
26 audioMixer_t dvb_mixer={255,255};
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
27 #else
9411
arpi
parents: 9265
diff changeset
28 #include <linux/dvb/audio.h>
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
29 audio_mixer_t dvb_mixer={255,255};
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
30 #endif
7609
arpi
parents: 7607
diff changeset
31 #endif
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
32 extern int vo_mpegpes_fd;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
33 extern int vo_mpegpes_fd2;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
34
7164
6175f7d18f8c added needed errno.h
alex
parents: 7161
diff changeset
35 #include <errno.h>
6175f7d18f8c added needed errno.h
alex
parents: 7161
diff changeset
36
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
37 static ao_info_t info =
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
38 {
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
39 #ifdef HAVE_DVB
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
40 "DVB audio output",
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
41 #else
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
42 "Mpeg-PES audio output",
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
43 #endif
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
44 "mpegpes",
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
45 "A'rpi",
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
46 ""
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
47 };
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
48
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
49 LIBAO_EXTERN(mpegpes)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
50
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
51
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
52 // to set/get/query special features/parameters
9633
12b1790038b0 64bit libao2 fix by Jens Axboe <mplayer-dev@kernel.dk>
alex
parents: 9411
diff changeset
53 static int control(int cmd,void *arg){
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
54 #ifdef HAVE_DVB
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
55 switch(cmd){
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
56 case AOCONTROL_GET_VOLUME:
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
57 if(vo_mpegpes_fd2>=0){
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
58 ((ao_control_vol_t*)(arg))->left=dvb_mixer.volume_left/2.56;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
59 ((ao_control_vol_t*)(arg))->right=dvb_mixer.volume_right/2.56;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
60 return CONTROL_OK;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
61 }
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
62 return CONTROL_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
63 case AOCONTROL_SET_VOLUME:
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
64 if(vo_mpegpes_fd2>=0){
5060
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
65 dvb_mixer.volume_left=((ao_control_vol_t*)(arg))->left*2.56;
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
66 dvb_mixer.volume_right=((ao_control_vol_t*)(arg))->right*2.56;
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
67 if(dvb_mixer.volume_left>255) dvb_mixer.volume_left=255;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
68 if(dvb_mixer.volume_right>255) dvb_mixer.volume_right=255;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
69 // printf("Setting DVB volume: %d ; %d \n",dvb_mixer.volume_left,dvb_mixer.volume_right);
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
70 if ( (ioctl(vo_mpegpes_fd2,AUDIO_SET_MIXER, &dvb_mixer) < 0)){
13383
c1955840883d mp_msg transition of unmaintained audio output drivers.
ivo
parents: 12145
diff changeset
71 mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_MPEGPES_CantSetMixer,
7161
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
72 strerror(errno));
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
73 return CONTROL_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
74 }
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
75 return CONTROL_OK;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
76 }
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
77 return CONTROL_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
78 }
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
79 #endif
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
80 return CONTROL_UNKNOWN;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
81 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
82
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
83 static int freq=0;
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
84 static int freq_id=0;
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
85
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
86 // open & setup audio device
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
87 // return: 1=success 0=fail
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
88 static int init(int rate,int channels,int format,int flags){
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
89
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
90 #ifdef HAVE_DVB
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
91 if(vo_mpegpes_fd2<0) return 0; // couldn't open audio dev
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
92 #else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
93 if(vo_mpegpes_fd<0) return 0; // no file
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
94 #endif
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
95
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
96 ao_data.channels=2;
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
97 ao_data.outburst=2000;
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
98 switch(format){
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
99 case AF_FORMAT_S16_LE:
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
100 case AF_FORMAT_S16_BE:
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
101 case AF_FORMAT_MPEG2:
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
102 case AF_FORMAT_AC3:
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
103 ao_data.format=format;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
104 break;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
105 default:
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
106 ao_data.format=AF_FORMAT_S16_BE;
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
107 }
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
108
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
109 retry:
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
110 switch(rate){
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
111 case 48000: freq_id=0;break;
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
112 case 96000: freq_id=1;break;
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
113 case 44100: freq_id=2;break;
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
114 case 32000: freq_id=3;break;
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
115 default:
13383
c1955840883d mp_msg transition of unmaintained audio output drivers.
ivo
parents: 12145
diff changeset
116 mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_MPEGPES_UnsupSamplerate, rate);
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
117 #if 0
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
118 if(rate>48000) rate=96000; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
119 if(rate>44100) rate=48000; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
120 if(rate>32000) rate=44100; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
121 rate=32000;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
122 goto retry;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
123 #else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
124 rate=48000; freq_id=0;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
125 #endif
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
126 }
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
127
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
128 ao_data.bps=rate*2*2;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
129 freq=ao_data.samplerate=rate;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
130
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
131 return 1;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
132 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
133
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
134 // close audio device
12145
99798c3cdb93 uninit immed flag
alex
parents: 9633
diff changeset
135 static void uninit(int immed){
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
136
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
137 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
138
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
139 // stop playing and empty buffers (for seeking/pause)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
140 static void reset(){
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
141
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
142 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
143
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
144 // stop playing, keep buffers (for pause)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
145 static void audio_pause()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
146 {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
147 // for now, just call reset();
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
148 reset();
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
149 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
150
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
151 // resume playing, after audio_pause()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
152 static void audio_resume()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
153 {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
154 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
155
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
156 void send_pes_packet(unsigned char* data,int len,int id,int timestamp);
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
157 void send_lpcm_packet(unsigned char* data,int len,int id,int timestamp,int freq_id);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
158 extern int vo_pts;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
159
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
160 // return: how many bytes can be played without blocking
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
161 static int get_space(){
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
162 float x=(float)(vo_pts-ao_data.pts)/90000.0;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
163 int y;
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
164 // printf("vo_pts: %5.3f ao_pts: %5.3f\n",vo_pts/90000.0,ao_data.pts/90000.0);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
165 if(x<=0) return 0;
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
166 y=freq*4*x;y/=ao_data.outburst;y*=ao_data.outburst;
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
167 if(y>32000) y=32000;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
168 // printf("diff: %5.3f -> %d \n",x,y);
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
169 return y;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
170 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
171
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
172 // plays 'len' bytes of 'data'
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
173 // it should round it down to outburst*n
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
174 // return: number of bytes played
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
175 static int play(void* data,int len,int flags){
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
176 // printf("\nao_mpegpes: play(%d) freq=%d\n",len,freq_id);
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
177 if(ao_data.format==AF_FORMAT_MPEG2)
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
178 send_pes_packet(data,len,0x1C0,ao_data.pts);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
179 else {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
180 int i;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
181 unsigned short *s=data;
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
182 // if(len>2000) len=2000;
4305
624c73ec1c54 10l, debug printf removed
arpi
parents: 4300
diff changeset
183 // printf("ao_mpegpes: len=%d \n",len);
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 14123
diff changeset
184 if(ao_data.format==AF_FORMAT_S16_LE || ao_data.format==AF_FORMAT_AC3)
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
185 for(i=0;i<len/2;i++) s[i]=(s[i]>>8)|(s[i]<<8); // le<->be
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
186 send_lpcm_packet(data,len,0xA0,ao_data.pts,freq_id);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
187 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
188 return len;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
189 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
190
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
191 // return: delay in seconds between first and last sample in buffer
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
192 static float get_delay(){
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
193
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
194 return 0.0;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
195 }