From 2912984517b5b4de5fa4e11bbf5365419b8d3cf1 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 30 Oct 2005 09:19:05 +0000 Subject: move resync_audio_stream after seeking to demuxer.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16878 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_aac.c | 3 --- libmpdemux/demux_asf.c | 2 -- libmpdemux/demux_audio.c | 5 ----- libmpdemux/demux_avi.c | 2 -- libmpdemux/demux_mkv.c | 8 -------- libmpdemux/demux_mpc.c | 1 - libmpdemux/demux_mpg.c | 2 -- libmpdemux/demux_ogg.c | 4 ---- libmpdemux/demux_rawaudio.c | 3 --- libmpdemux/demux_real.c | 4 ---- libmpdemux/demux_ts.c | 3 --- libmpdemux/demux_ty.c | 2 -- libmpdemux/demux_vqf.c | 3 --- libmpdemux/demux_xmms.c | 2 -- libmpdemux/demuxer.c | 3 +++ 15 files changed, 3 insertions(+), 44 deletions(-) (limited to 'libmpdemux') diff --git a/libmpdemux/demux_aac.c b/libmpdemux/demux_aac.c index 20aa3f38a4..840ce866a0 100644 --- a/libmpdemux/demux_aac.c +++ b/libmpdemux/demux_aac.c @@ -14,8 +14,6 @@ #include "bswap.h" #include "ms_hdr.h" -extern void resync_audio_stream(sh_audio_t *sh_audio); - typedef struct { uint8_t *buf; uint64_t size; /// amount of time of data packets pushed to demuxer->audio (in bytes) @@ -248,7 +246,6 @@ static void demux_aac_seek(demuxer_t *demuxer, float rel_seek_secs, int flags) } } sh_audio->delay = priv->last_pts - (ds_tell_pts(demuxer->audio)-sh_audio->a_in_buffer_len)/(float)priv->bitrate; - resync_audio_stream(sh_audio); } diff --git a/libmpdemux/demux_asf.c b/libmpdemux/demux_asf.c index dc8783aab5..a8ed8b9016 100644 --- a/libmpdemux/demux_asf.c +++ b/libmpdemux/demux_asf.c @@ -359,7 +359,6 @@ static int demux_asf_fill_buffer(demuxer_t *demux, demux_stream_t *ds){ #include "stheader.h" -extern void resync_audio_stream(sh_audio_t *sh_audio); extern void skip_audio_frame(sh_audio_t *sh_audio); static void demux_seek_asf(demuxer_t *demuxer,float rel_seek_secs,int flags){ @@ -390,7 +389,6 @@ static void demux_seek_asf(demuxer_t *demuxer,float rel_seek_secs,int flags){ ds_fill_buffer(d_video); if(sh_audio){ ds_fill_buffer(d_audio); - resync_audio_stream(sh_audio); } if (d_video->id < 0) diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c index 01b86e4a12..cae8850a1c 100644 --- a/libmpdemux/demux_audio.c +++ b/libmpdemux/demux_audio.c @@ -44,7 +44,6 @@ typedef struct mp3_hdr { } mp3_hdr_t; extern void free_sh_audio(sh_audio_t* sh); -extern void resync_audio_stream(sh_audio_t *sh_audio); extern void print_wave_header(WAVEFORMATEX *h); int hr_mp3_seek = 0; @@ -496,7 +495,6 @@ static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){ if(len > 0) high_res_mp3_seek(demuxer,len); sh_audio->delay = priv->last_pts - (ds_tell_pts(demuxer->audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; - resync_audio_stream(sh_audio); return; } @@ -527,9 +525,6 @@ static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){ } stream_seek(s,pos); - - resync_audio_stream(sh_audio); - } static void demux_close_audio(demuxer_t* demuxer) { diff --git a/libmpdemux/demux_avi.c b/libmpdemux/demux_avi.c index b4c11acfdc..5dfaf413c4 100644 --- a/libmpdemux/demux_avi.c +++ b/libmpdemux/demux_avi.c @@ -617,7 +617,6 @@ static demuxer_t* demux_open_avi(demuxer_t* demuxer){ } //extern float initial_pts_delay; -extern void resync_audio_stream(sh_audio_t *sh_audio); void demux_seek_avi(demuxer_t *demuxer,float rel_seek_secs,int flags){ avi_priv_t *priv=demuxer->priv; @@ -806,7 +805,6 @@ void demux_seek_avi(demuxer_t *demuxer,float rel_seek_secs,int flags){ demux_read_data(d_audio,NULL,skip_audio_bytes); //d_audio->pts=0; // PTS is outdated because of the raw data skipping } - resync_audio_stream(sh_audio); // sh_audio->timer=-skip_audio_secs; diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 74a8519317..bafbe7b9c8 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -3117,7 +3117,6 @@ demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, int flags) free_cached_dps (demuxer); if (!(flags & 2)) /* time in secs */ { - void resync_audio_stream(sh_audio_t *sh_audio); mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; stream_t *s = demuxer->stream; int64_t target_timecode = 0, diff, min_diff=0xFFFFFFFL; @@ -3228,15 +3227,11 @@ demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, int flags) clear_subtitles(demuxer, 0, 1); demux_mkv_fill_buffer(demuxer, NULL); - - if(demuxer->audio->sh != NULL) - resync_audio_stream((sh_audio_t *) demuxer->audio->sh); } else if ((demuxer->movi_end <= 0) || !(flags & 1)) mp_msg (MSGT_DEMUX, MSGL_V, "[mkv] seek unsupported flags\n"); else { - void resync_audio_stream(sh_audio_t *sh_audio); mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv; stream_t *s = demuxer->stream; uint64_t target_filepos; @@ -3274,9 +3269,6 @@ demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, int flags) clear_subtitles(demuxer, 0, 1); demux_mkv_fill_buffer(demuxer, NULL); - - if(demuxer->audio->sh != NULL) - resync_audio_stream((sh_audio_t *) demuxer->audio->sh); } } diff --git a/libmpdemux/demux_mpc.c b/libmpdemux/demux_mpc.c index 003b965a0f..139e96c604 100644 --- a/libmpdemux/demux_mpc.c +++ b/libmpdemux/demux_mpc.c @@ -181,7 +181,6 @@ static void demux_mpc_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){ if (!sh_audio) return; sh_audio->delay = priv->last_pts - (ds_tell_pts(demuxer->audio) - sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; - resync_audio_stream(sh_audio); } static void demux_close_mpc(demuxer_t* demuxer) { diff --git a/libmpdemux/demux_mpg.c b/libmpdemux/demux_mpg.c index d448ccd602..4f57c89a3d 100644 --- a/libmpdemux/demux_mpg.c +++ b/libmpdemux/demux_mpg.c @@ -669,7 +669,6 @@ do{ return 1; } -extern void resync_audio_stream(sh_audio_t *sh_audio); extern void skip_audio_frame(sh_audio_t *sh_audio); void demux_seek_mpg(demuxer_t *demuxer,float rel_seek_secs,int flags){ @@ -733,7 +732,6 @@ void demux_seek_mpg(demuxer_t *demuxer,float rel_seek_secs,int flags){ ds_fill_buffer(d_video); if(sh_audio){ ds_fill_buffer(d_audio); - resync_audio_stream(sh_audio); } while(1){ diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c index e5ddc80be8..a991d05a40 100644 --- a/libmpdemux/demux_ogg.c +++ b/libmpdemux/demux_ogg.c @@ -1390,8 +1390,6 @@ demuxer_t* init_avi_with_ogg(demuxer_t* demuxer) { } -extern void resync_audio_stream(sh_audio_t *sh_audio); - static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) { ogg_demuxer_t* ogg_d = demuxer->priv; ogg_sync_state* sync = &ogg_d->sync; @@ -1558,8 +1556,6 @@ static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) { vo_osd_changed(OSDTYPE_SUBTITLE); clear_sub = -1; demux_ogg_add_packet(ds,os,ds->id,&op); - if(sh_audio) - resync_audio_stream(sh_audio); return; } } diff --git a/libmpdemux/demux_rawaudio.c b/libmpdemux/demux_rawaudio.c index df8d2dccc6..8c374bc255 100644 --- a/libmpdemux/demux_rawaudio.c +++ b/libmpdemux/demux_rawaudio.c @@ -30,8 +30,6 @@ m_option_t demux_rawaudio_opts[] = { }; -extern void resync_audio_stream(sh_audio_t *sh_audio); - static demuxer_t* demux_rawaudio_open(demuxer_t* demuxer) { sh_audio_t* sh_audio; WAVEFORMATEX* w; @@ -95,7 +93,6 @@ static void demux_rawaudio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags pos -= (pos % (sh_audio->channels * sh_audio->samplesize) ); stream_seek(s,pos); sh_audio->delay= (pos-ds_tell_pts(demuxer->audio)-sh_audio->a_in_buffer_len) / (float)(sh_audio->wf->nAvgBytesPerSec); - resync_audio_stream(sh_audio); // printf("demux_rawaudio: streamtell=%d\n",(int)stream_tell(demuxer->stream)); } diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c index 0c203972ef..4ac8b6074a 100644 --- a/libmpdemux/demux_real.c +++ b/libmpdemux/demux_real.c @@ -1748,8 +1748,6 @@ static void demux_close_real(demuxer_t *demuxer) return; } -extern void resync_audio_stream(sh_audio_t * sh_audio); - /* please upload RV10 samples WITH INDEX CHUNK */ static int demux_seek_real(demuxer_t *demuxer, float rel_seek_secs, int flags) { @@ -1840,8 +1838,6 @@ static int demux_seek_real(demuxer_t *demuxer, float rel_seek_secs, int flags) stream_seek(demuxer->stream, next_offset); demux_real_fill_buffer(demuxer, NULL); - if (sh_audio) - resync_audio_stream(sh_audio); return 1; } diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index 8e5102f91e..eafa554589 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -223,7 +223,6 @@ typedef struct { #define IS_VIDEO(x) (((x) == VIDEO_MPEG1) || ((x) == VIDEO_MPEG2) || ((x) == VIDEO_MPEG4) || ((x) == VIDEO_H264) || ((x) == VIDEO_AVC)) static int ts_parse(demuxer_t *demuxer, ES_stream_t *es, unsigned char *packet, int probe); -extern void resync_audio_stream( sh_audio_t *sh_audio ); static uint8_t get_packet_size(const unsigned char *buf, int size) { @@ -2991,7 +2990,6 @@ static int ts_parse(demuxer_t *demuxer , ES_stream_t *es, unsigned char *packet, } -extern void resync_audio_stream(sh_audio_t *sh_audio); extern void skip_audio_frame(sh_audio_t *sh_audio); static void reset_fifos(ts_priv_t* priv, int a, int v, int s) @@ -3096,7 +3094,6 @@ static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, int flags) if(sh_audio != NULL) { ds_fill_buffer(d_audio); - resync_audio_stream(sh_audio); } while(sh_video != NULL) diff --git a/libmpdemux/demux_ty.c b/libmpdemux/demux_ty.c index 0ca4c03d09..e7f5bd6136 100644 --- a/libmpdemux/demux_ty.c +++ b/libmpdemux/demux_ty.c @@ -45,7 +45,6 @@ #include "stheader.h" #include "../sub_cc.h" -extern void resync_audio_stream( sh_audio_t *sh_audio ); extern void skip_audio_frame( sh_audio_t *sh_audio ); extern int sub_justify; @@ -1313,7 +1312,6 @@ static void demux_seek_ty( demuxer_t *demuxer, float rel_seek_secs, int flags ) if( sh_audio ) { ds_fill_buffer( d_audio ); - resync_audio_stream( sh_audio ); } while( 1 ) diff --git a/libmpdemux/demux_vqf.c b/libmpdemux/demux_vqf.c index eafac5b7bb..7e862b86db 100644 --- a/libmpdemux/demux_vqf.c +++ b/libmpdemux/demux_vqf.c @@ -9,8 +9,6 @@ #include "stheader.h" #include "../libmpcodecs/vqf.h" -extern void resync_audio_stream(sh_audio_t *sh_audio); - static int demux_probe_vqf(demuxer_t* demuxer) { char buf[KEYWORD_BYTES]; @@ -195,7 +193,6 @@ static void demux_seek_vqf(demuxer_t *demuxer,float rel_seek_secs,int flags){ pos -= (pos % (sh_audio->channels * sh_audio->samplesize) ); stream_seek(s,pos); - resync_audio_stream(sh_audio); #endif } diff --git a/libmpdemux/demux_xmms.c b/libmpdemux/demux_xmms.c index 3c3a06f77e..fb736a7b3f 100644 --- a/libmpdemux/demux_xmms.c +++ b/libmpdemux/demux_xmms.c @@ -199,8 +199,6 @@ static void cleanup_plugins(){ // ============================ mplayer demuxer stuff =============== -//extern void resync_audio_stream(sh_audio_t *sh_audio); - static int demux_xmms_open(demuxer_t* demuxer) { InputPlugin* ip = NULL; sh_audio_t* sh_audio; diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index dcf82abd1c..7cc18810c7 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -21,6 +21,7 @@ #include "../libaf/af_format.h" #include "../libvo/fastmemcpy.h" +extern void resync_audio_stream(sh_audio_t *sh_audio); // Demuxer list extern demuxer_desc_t demuxer_desc_rawaudio; @@ -856,6 +857,8 @@ if(!demuxer->seekable){ if (demuxer->desc->seek) demuxer->desc->seek(demuxer,rel_seek_secs,flags); + if (sh_audio) resync_audio_stream(sh_audio); + return 1; } -- cgit v1.2.3