annotate libao2/ao_mpegpes.c @ 9009:f2d4324561b2

1) Removed the code to remove {} from sub_read_line_ssa 2) Put this code in a separated function: sub_pp_ssa 3) After recoding added a call to sub_pp_ssa. To be more acqurate: I added a pointer to function to hold a postprocessing function to be invoked after using iconv. There are one pointer for each format, if this pointer isn.t NULL the post processing function is called. patch by Salvador Eduardo Tropea <salvador@inti.gov.ar> help by <hephooey@fastmail.fm>
author arpi
date Sun, 19 Jan 2003 00:54:55 +0000
parents 00326905484b
children c9b1b73339da
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>
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
4 #ifdef DVB_HEAD
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
5 #define HAVE_DVB 1
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
6 #endif
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
7
6856
23221df30608 no need for ioctl.h if not using dvb
rfelker
parents: 5060
diff changeset
8 #ifdef HAVE_DVB
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
9 #include <sys/ioctl.h>
6856
23221df30608 no need for ioctl.h if not using dvb
rfelker
parents: 5060
diff changeset
10 #endif
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
11
5060
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
12 #include "../config.h"
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
13
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
14 #include "audio_out.h"
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
15 #include "audio_out_internal.h"
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
16
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
17 #include "afmt.h"
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
18
7161
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
19 #include "../mp_msg.h"
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
20
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
21 #ifdef HAVE_DVB
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
22 #ifndef HAVE_DVB_HEAD
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
23 #include <ost/audio.h>
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
24 audioMixer_t dvb_mixer={255,255};
8594
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
25 #else
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
26 #include </linux/dvb/audio.h>
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
27 audio_mixer_t dvb_mixer={255,255};
00326905484b DVB-HEAD (aka. NEWSTRUCT) detection & support
arpi
parents: 7609
diff changeset
28 #endif
7609
arpi
parents: 7607
diff changeset
29 #endif
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
30 extern int vo_mpegpes_fd;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
31 extern int vo_mpegpes_fd2;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
32
7164
6175f7d18f8c added needed errno.h
alex
parents: 7161
diff changeset
33 #include <errno.h>
6175f7d18f8c added needed errno.h
alex
parents: 7161
diff changeset
34
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
35 static ao_info_t info =
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
36 {
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
37 #ifdef HAVE_DVB
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
38 "DVB audio output",
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
39 #else
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
40 "Mpeg-PES audio output",
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
41 #endif
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
42 "mpegpes",
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
43 "A'rpi",
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
44 ""
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
45 };
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
46
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
47 LIBAO_EXTERN(mpegpes)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
48
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
49
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
50 // to set/get/query special features/parameters
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
51 static int control(int cmd,int arg){
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
52 #ifdef HAVE_DVB
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
53 switch(cmd){
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
54 case AOCONTROL_GET_VOLUME:
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
55 if(vo_mpegpes_fd2>=0){
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
56 ((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
57 ((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
58 return CONTROL_OK;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
59 }
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
60 return CONTROL_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
61 case AOCONTROL_SET_VOLUME:
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
62 if(vo_mpegpes_fd2>=0){
5060
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
63 dvb_mixer.volume_left=((ao_control_vol_t*)(arg))->left*2.56;
485ef815e786 10l - config.h should be included...
arpi
parents: 4792
diff changeset
64 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
65 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
66 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
67 // 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
68 if ( (ioctl(vo_mpegpes_fd2,AUDIO_SET_MIXER, &dvb_mixer) < 0)){
7161
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
69 mp_msg(MSGT_AO, MSGL_ERR, "DVB audio set mixer failed: %s\n",
13bc391fc19c mp_msg'ized
alex
parents: 6856
diff changeset
70 strerror(errno));
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
71 return CONTROL_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
72 }
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
73 return CONTROL_OK;
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_ERROR;
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
76 }
4792
c85ee559fc3d compilation fixed
arpi
parents: 4788
diff changeset
77 #endif
4788
d678ce495a75 Moved HW dependent mixer stuff to libao and removed master switch
anders
parents: 4331
diff changeset
78 return CONTROL_UNKNOWN;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
79 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
80
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
81 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
82 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
83
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
84 // open & setup audio device
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
85 // return: 1=success 0=fail
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
86 static int init(int rate,int channels,int format,int flags){
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
87
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
88 #ifdef HAVE_DVB
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
89 if(vo_mpegpes_fd2<0) return 0; // couldn't open audio dev
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
90 #else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
91 if(vo_mpegpes_fd<0) return 0; // no file
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
92 #endif
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
93
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
94 ao_data.channels=2;
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
95 ao_data.outburst=2000;
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
96 switch(format){
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
97 case AFMT_S16_LE:
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
98 case AFMT_S16_BE:
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
99 case AFMT_MPEG:
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
100 ao_data.format=format;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
101 break;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
102 default:
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
103 ao_data.format=AFMT_S16_BE;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
104 }
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
105
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
106 retry:
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
107 switch(rate){
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
108 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
109 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
110 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
111 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
112 default:
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
113 mp_msg(MSGT_AO, MSGL_ERR, "ao_mpegpes: %d Hz not supported, try to resample...\n",rate);
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
114 #if 0
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
115 if(rate>48000) rate=96000; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
116 if(rate>44100) rate=48000; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
117 if(rate>32000) rate=44100; else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
118 rate=32000;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
119 goto retry;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
120 #else
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
121 rate=48000; freq_id=0;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
122 #endif
4300
4ebab79785b7 passing samplerate to LPCM writer - 44, 32 and 96khz are also supported from now
arpi
parents: 3095
diff changeset
123 }
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
124
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
125 ao_data.bps=rate*2*2;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
126 freq=ao_data.samplerate=rate;
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
127
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
128 return 1;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
129 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
130
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
131 // close audio device
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
132 static void uninit(){
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
133
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
134 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
135
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
136 // stop playing and empty buffers (for seeking/pause)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
137 static void reset(){
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
138
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
139 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
140
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
141 // stop playing, keep buffers (for pause)
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
142 static void audio_pause()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
143 {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
144 // for now, just call reset();
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
145 reset();
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
146 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
147
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
148 // resume playing, after audio_pause()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
149 static void audio_resume()
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
150 {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
151 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
152
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
153 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
154 void send_lpcm_packet(unsigned char* data,int len,int id,int timestamp,int freq_id);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
155 extern int vo_pts;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
156
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
157 // return: how many bytes can be played without blocking
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
158 static int get_space(){
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
159 float x=(float)(vo_pts-ao_data.pts)/90000.0;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
160 int y;
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
161 // 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
162 if(x<=0) return 0;
4331
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
163 y=freq*4*x;y/=ao_data.outburst;y*=ao_data.outburst;
ce1e3668fa2b freq fix, removed muxer delay
arpi
parents: 4305
diff changeset
164 if(y>32000) y=32000;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
165 // printf("diff: %5.3f -> %d \n",x,y);
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
166 return y;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
167 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
168
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
169 // plays 'len' bytes of 'data'
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
170 // it should round it down to outburst*n
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
171 // return: number of bytes played
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
172 static int play(void* data,int len,int flags){
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
173 // printf("\nao_mpegpes: play(%d) freq=%d\n",len,freq_id);
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
174 if(ao_data.format==AFMT_MPEG)
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
175 send_pes_packet(data,len,0x1C0,ao_data.pts);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
176 else {
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
177 int i;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
178 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
179 // if(len>2000) len=2000;
4305
624c73ec1c54 10l, debug printf removed
arpi
parents: 4300
diff changeset
180 // printf("ao_mpegpes: len=%d \n",len);
7607
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
181 if(ao_data.format==AFMT_S16_LE)
8d73a0292932 - init fails if no -vo mpegpes
arpi
parents: 7472
diff changeset
182 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
183 send_lpcm_packet(data,len,0xA0,ao_data.pts,freq_id);
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
184 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
185 return len;
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
186 }
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
187
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
188 // return: delay in seconds between first and last sample in buffer
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
189 static float get_delay(){
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
190
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
191 return 0.0;
2708
b24661a9924e ao_mpegpes
arpi
parents:
diff changeset
192 }