diff options
author | anders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-24 05:21:22 +0000 |
---|---|---|
committer | anders <anders@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-24 05:21:22 +0000 |
commit | 242aa6ebd4061b1b2b3651cc0887083206932a7d (patch) | |
tree | 507fde939a2c58eb0f0317aecf3c1e637aedd163 /libao2/ao_mpegpes.c | |
parent | becadec644aa84b399c9b1dbacfcdd486b45fd32 (diff) | |
download | mpv-242aa6ebd4061b1b2b3651cc0887083206932a7d.tar.bz2 mpv-242aa6ebd4061b1b2b3651cc0887083206932a7d.tar.xz |
interface to libao2 changed ao_plugin added
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3096 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_mpegpes.c')
-rw-r--r-- | libao2/ao_mpegpes.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/libao2/ao_mpegpes.c b/libao2/ao_mpegpes.c index a26811a018..598db3673b 100644 --- a/libao2/ao_mpegpes.c +++ b/libao2/ao_mpegpes.c @@ -16,13 +16,6 @@ static ao_info_t info = LIBAO_EXTERN(mpegpes) -// there are some globals: -// ao_samplerate -// ao_channels -// ao_format -// ao_bps -// ao_outburst -// ao_buffersize // to set/get/query special features/parameters static int control(int cmd,int arg){ @@ -33,8 +26,8 @@ static int control(int cmd,int arg){ // return: 1=success 0=fail static int init(int rate,int channels,int format,int flags){ - ao_outburst=2000; - ao_format=format; + ao_data.outburst=2000; + ao_data.format=format; return 1; } @@ -67,10 +60,10 @@ extern int vo_pts; // return: how many bytes can be played without blocking static int get_space(){ - float x=(float)(vo_pts-ao_pts)/90000.0-0.5; + float x=(float)(vo_pts-ao_data.pts)/90000.0-0.5; int y; if(x<=0) return 0; - y=48000*4*x;y/=ao_outburst;y*=ao_outburst; + y=48000*4*x;y/=ao_data.outburst;y*=ao_data.outburst; // printf("diff: %5.3f -> %d \n",x,y); return y; } @@ -79,20 +72,20 @@ static int get_space(){ // it should round it down to outburst*n // return: number of bytes played static int play(void* data,int len,int flags){ - if(ao_format==AFMT_MPEG) - send_pes_packet(data,len,0x1C0,ao_pts); + if(ao_data.format==AFMT_MPEG) + send_pes_packet(data,len,0x1C0,ao_data.pts); else { int i; unsigned short *s=data; for(i=0;i<len/2;i++) s[i]=(s[i]>>8)|(s[i]<<8); // le<->be - send_lpcm_packet(data,len,0xA0,ao_pts); + send_lpcm_packet(data,len,0xA0,ao_data.pts); } return len; } -// return: how many unplayed bytes are in the buffer -static int get_delay(){ +// return: delay in seconds between first and last sample in buffer +static float get_delay(){ - return 0; + return 0.0; } |