[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[203] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2012-10-25 09:12:17
|
Revision: 203 http://mplayerxp.svn.sourceforge.net/mplayerxp/?rev=203&view=rev Author: nickols_k Date: 2012-10-25 09:12:05 +0000 (Thu, 25 Oct 2012) Log Message: ----------- cleanup general headers Modified Paths: -------------- mplayerxp/dec_ahead.c mplayerxp/dec_ahead.h mplayerxp/libmpcodecs/ad_ffmp3.c mplayerxp/libmpdemux/demux_avi.c mplayerxp/libmpdemux/demux_mov.c mplayerxp/libmpdemux/demuxer.c mplayerxp/libmpdemux/demuxer.h mplayerxp/libmpdemux/stheader.h mplayerxp/libmpdemux/video.c mplayerxp/mplayer.c Modified: mplayerxp/dec_ahead.c =================================================================== --- mplayerxp/dec_ahead.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/dec_ahead.c 2012-10-25 09:12:05 UTC (rev 203) @@ -119,8 +119,6 @@ extern volatile float xp_screen_pts; volatile int dec_ahead_can_aseek=0; /* It is safe to seek audio */ volatile int dec_ahead_can_adseek=1; /* It is safe to seek audio buffer thread */ -volatile float dec_ahead_seek_num_frames=0; /* frames played after seek */ -volatile int dec_ahead_seek_num_frames_decoded=0; /* frames decoded after seek */ static pthread_t pthread_id=0; static pthread_attr_t our_attr; @@ -307,12 +305,7 @@ xp_core.in_lseek=Seek; } pinfo[_xp_id].current_module = "dec_ahead 1"; - if(xp_core.in_lseek==Seek) { - /* Get info from player after a seek */ - //*((char*)0x100) = 1; // Testing crash - sh_video->num_frames = dec_ahead_seek_num_frames; - sh_video->num_frames_decoded = dec_ahead_seek_num_frames_decoded; - } + /* get it! */ #if 0 /* prevent reent access to non-reent demuxer */ @@ -410,8 +403,6 @@ xp_core.video->fra[idx].stream_pts = v_pts; xp_core.video->fra[idx].duration=duration; xp_core.video->fra[idx].eof=0; - xp_core.video->fra[idx].num_frames = sh_video->num_frames; - xp_core.video->fra[idx].frame_no = sh_video->num_frames_decoded; if(!xp_is_bad_pts) { int _idx = dae_prev_vdecoded(); xp_core.video->fra[_idx].duration=v_pts-xp_core.video->fra[_idx].v_pts; Modified: mplayerxp/dec_ahead.h =================================================================== --- mplayerxp/dec_ahead.h 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/dec_ahead.h 2012-10-25 09:12:05 UTC (rev 203) @@ -28,8 +28,6 @@ float duration; /* frame duration */ float v_pts; /* presentation time-stamp from input stream */ float stream_pts; /* real stream's PTS mainly for OSD */ - float num_frames; /* ??? is it really needed */ - long long int frame_no; /* total number of frame */ }frame_attr_t; typedef struct dec_ahead_engine_s { @@ -112,8 +110,6 @@ extern int xp_audio_eof; extern int xp_is_bad_pts; -extern volatile float dec_ahead_seek_num_frames; // frames played after seek -extern volatile int dec_ahead_seek_num_frames_decoded; // frames decoded after seek extern volatile int dec_ahead_can_aseek; extern int ao_da_buffs; /* Modified: mplayerxp/libmpcodecs/ad_ffmp3.c =================================================================== --- mplayerxp/libmpcodecs/ad_ffmp3.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpcodecs/ad_ffmp3.c 2012-10-25 09:12:05 UTC (rev 203) @@ -93,16 +93,6 @@ return 0; } MSG_V("INFO: libavcodec init OK!\n"); - if(sh_audio->format==0x3343414D){ - // MACE 3:1 - sh_audio->ds->ss_div = 2*3; // 1 samples/packet - sh_audio->ds->ss_mul = 2*sh_audio->wf->nChannels; // 1 byte*ch/packet - } else - if(sh_audio->format==0x3643414D){ - // MACE 6:1 - sh_audio->ds->ss_div = 2*6; // 1 samples/packet - sh_audio->ds->ss_mul = 2*sh_audio->wf->nChannels; // 1 byte*ch/packet - } // Decode at least 1 byte: (to get header filled) x=decode(sh_audio,sh_audio->a_buffer,1,sh_audio->a_buffer_size,&pts); Modified: mplayerxp/libmpdemux/demux_avi.c =================================================================== --- mplayerxp/libmpdemux/demux_avi.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/demux_avi.c 2012-10-25 09:12:05 UTC (rev 203) @@ -1393,8 +1393,7 @@ int id=((AVIINDEXENTRY *)priv->idx)[i].ckid; if(avi_stream_id(id)==d_video->id) ++d_video->pack_no; } - priv->video_pack_no= - sh_video->num_frames=sh_video->num_frames_decoded=d_video->pack_no; + priv->video_pack_no=d_video->pack_no; priv->avi_video_pts=d_video->pack_no*(float)sh_video->video.dwScale/(float)sh_video->video.dwRate; d_video->pos=video_chunk_pos; Modified: mplayerxp/libmpdemux/demux_mov.c =================================================================== --- mplayerxp/libmpdemux/demux_mov.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/demux_mov.c 2012-10-25 09:12:05 UTC (rev 203) @@ -290,6 +290,9 @@ mov_track_t* tracks[MOV_MAX_TRACKS]; int timescale; // movie timescale int duration; // movie duration (in movie timescale units) +/* ---- mov (!!! ALWAYS 0 !!!) ----- */ + unsigned int ss_mul; /**< compression ratio for packet descriptor */ + unsigned int ss_div; /**< compression ratio for packet descriptor */ } mov_priv_t; #define MOV_FOURCC(a,b,c,d) ((a<<24)|(b<<16)|(c<<8)|(d)) @@ -299,11 +302,11 @@ int no=0; unsigned ver; mov_priv_t* priv=malloc(sizeof(mov_priv_t)); - + MSG_V("Checking for MOV\n"); - + memset(priv,0,sizeof(mov_priv_t)); - + while(1){ int i; int skipped=8; @@ -1945,10 +1948,10 @@ // x*=char2int(trak->stdata,32); // bytes/packet x*=char2int(trak->stdata,36); // bytes/frame } else { - if(ds->ss_div && ds->ss_mul){ + if(priv->ss_div && priv->ss_mul){ // workaround for buggy files like 7up-high-traffic-areas.mov, // with missing stsd v1 header containing compression rate - x/=ds->ss_div; x*=ds->ss_mul; // compression ratio fix ! HACK ! + x/=priv->ss_div; x*=priv->ss_mul; // compression ratio fix ! HACK ! } else { x*=trak->nchannels; x*=trak->samplebytes; Modified: mplayerxp/libmpdemux/demuxer.c =================================================================== --- mplayerxp/libmpdemux/demuxer.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/demuxer.c 2012-10-25 09:12:05 UTC (rev 203) @@ -110,7 +110,7 @@ int demux_aid_vid_mismatch = 0; -demux_stream_t* new_demuxer_stream(struct demuxer_st *demuxer,int id){ +demux_stream_t* new_demuxer_stream(struct demuxer_s *demuxer,int id){ demux_stream_t* ds=malloc(sizeof(demux_stream_t)); ds->buffer_pos=ds->buffer_size=0; ds->buffer=NULL; @@ -130,8 +130,6 @@ ds->asf_seq=-1; ds->asf_packet=NULL; //---------------- - ds->ss_mul=ds->ss_div=0; -//---------------- ds->sh=NULL; ds->pts_flags=0; ds->prev_pts=ds->pts_corr=0; Modified: mplayerxp/libmpdemux/demuxer.h =================================================================== --- mplayerxp/libmpdemux/demuxer.h 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/demuxer.h 2012-10-25 09:12:05 UTC (rev 203) @@ -52,46 +52,43 @@ /** Describes demuxer's packet */ typedef struct demux_packet_st { - int len; /**< length of packet's data */ - float pts; /**< Presentation Time-Stamp (PTS) of data */ - off_t pos; /**< Position in index (AVI) or file (MPG) */ - unsigned char* buffer; /**< buffer of packet's data */ - int flags; /**< 1 - indicates keyframe, 0 - regular frame */ - struct demux_packet_st* next; /**< pointer to the next packet in chain */ + int len; /**< length of packet's data */ + float pts; /**< Presentation Time-Stamp (PTS) of data */ + off_t pos; /**< Position in index (AVI) or file (MPG) */ + unsigned char* buffer; /**< buffer of packet's data */ + int flags; /**< 1 - indicates keyframe, 0 - regular frame */ + struct demux_packet_st* next; /**< pointer to the next packet in chain */ } demux_packet_t; /** Describes interface to stream associated with this demuxer */ -typedef struct { - int buffer_pos; /**< current buffer position */ - int buffer_size; /**< current buffer size */ - unsigned char* buffer; /**< current buffer */ - float pts; /**< current buffer's PTS */ - int pts_bytes; /**< number of bytes read after last pts stamp */ - int eof; /**< end of demuxed stream? (true if all buffer empty) */ - off_t pos; /**< position in the input stream (file) */ - off_t dpos; /**< position in the demuxed stream */ - int pack_no; /**< serial number of packet */ - int flags; /**< flags of current packet (keyframe etc) */ +typedef struct demux_stream_s { + int id; /**< stream ID (for multiple audio/video streams) */ + int buffer_pos; /**< current buffer position */ + int buffer_size; /**< current buffer size */ + unsigned char* buffer; /**< current buffer */ + float pts; /**< current buffer's PTS */ + int pts_bytes; /**< number of bytes read after last pts stamp */ + int eof; /**< end of demuxed stream? (true if all buffer empty) */ + off_t pos; /**< position in the input stream (file) */ + off_t dpos; /**< position in the demuxed stream */ + int pack_no; /**< serial number of packet */ + int flags; /**< flags of current packet (keyframe etc) */ /*---------------*/ - int packs; /**< number of packets in buffer */ - int bytes; /**< total bytes of packets in buffer */ - demux_packet_t *first; /**< read to current buffer from here */ - demux_packet_t *last; /**< append new packets from input stream to here */ - demux_packet_t *current; /**< needed for refcounting of the buffer */ - int id; /**< stream ID (for multiple audio/video streams) */ - struct demuxer_st *demuxer; /**< parent demuxer structure (stream handler) */ + int packs; /**< number of packets in buffer */ + int bytes; /**< total bytes of packets in buffer */ + demux_packet_t* first; /**< read to current buffer from here */ + demux_packet_t* last; /**< append new packets from input stream to here */ + demux_packet_t* current; /**< needed for refcounting of the buffer */ + struct demuxer_s* demuxer; /**< parent demuxer structure (stream handler) */ /* ---- asf ----- */ - demux_packet_t *asf_packet; /**< read asf fragments here */ - int asf_seq; /**< sequence id associated with asf_packet */ -/* ---- mov ----- */ - unsigned int ss_mul; /**< compression ratio for packet descriptor */ - unsigned int ss_div; /**< compression ratio for packet descriptor */ + demux_packet_t* asf_packet; /**< read asf fragments here */ + int asf_seq; /**< sequence id associated with asf_packet */ /*---------------*/ - any_t* sh; /**< Stream header associated with this stream (@see st_header.h for detail) */ + any_t* sh; /**< Stream header associated with this stream (@see st_header.h for detail) */ /*---------------*/ - float prev_pts; /**< PTS of previous packet (DVD's PTS correction) */ - float pts_corr; /**< PTS correction (DVD's PTS correction) */ - int pts_flags; /**< PTS flags like trigger for correction applying (DVD's PTS correction) */ + float prev_pts; /**< PTS of previous packet (DVD's PTS correction) */ + float pts_corr; /**< PTS correction (DVD's PTS correction) */ + int pts_flags; /**< PTS flags like trigger for correction applying (DVD's PTS correction) */ } demux_stream_t; extern demux_stream_t *d_audio; @@ -104,25 +101,25 @@ #define DEMUXF_SEEKABLE 0x00000001UL /** Describes demuxer (demultiplexer) of movie */ -typedef struct demuxer_st { - stream_t *stream; /**< stream for movie reading */ - demux_stream_t *audio;/**< audio buffer/demuxer */ - demux_stream_t *video;/**< video buffer/demuxer */ - demux_stream_t *sub; /**< DVD's subtitle buffer/demuxer */ - any_t* a_streams[MAX_A_STREAMS]; /**< audio streams (sh_audio_t) for multilanguage movies */ - any_t* v_streams[MAX_V_STREAMS]; /**< video streams (sh_video_t) for multipicture movies */ - char s_streams[MAX_S_STREAMS]; /**< DVD's subtitles (flag) streams for multilanguage movies */ - off_t filepos; /**< current pos. of input stream */ - off_t movi_start; /**< real start of movie within of stream */ - off_t movi_end; /**< real end of movie within of stream */ - unsigned movi_length; /**< length of movie in secs. Optional!*/ - unsigned flags; /**< set of DEMUXF_* bits */ - unsigned file_format; /**< file format: DEMUXER_TYPE_*(mpeg/avi/asf). Will be replaced with properties in the further versions */ - int synced; /**< indicates stream synchronisation. TODO: mpg->priv */ +typedef struct demuxer_s { + stream_t* stream; /**< stream for movie reading */ + demux_stream_t* audio; /**< audio buffer/demuxer */ + demux_stream_t* video; /**< video buffer/demuxer */ + demux_stream_t* sub; /**< DVD's subtitle buffer/demuxer */ + any_t* a_streams[MAX_A_STREAMS]; /**< audio streams (sh_audio_t) for multilanguage movies */ + any_t* v_streams[MAX_V_STREAMS]; /**< video streams (sh_video_t) for multipicture movies */ + char s_streams[MAX_S_STREAMS]; /**< DVD's subtitles (flag) streams for multilanguage movies */ + off_t filepos; /**< current pos. of input stream */ + off_t movi_start; /**< real start of movie within of stream */ + off_t movi_end; /**< real end of movie within of stream */ + unsigned movi_length; /**< length of movie in secs. Optional!*/ + unsigned flags; /**< set of DEMUXF_* bits */ + unsigned file_format; /**< file format: DEMUXER_TYPE_*(mpeg/avi/asf). Will be replaced with properties in the further versions */ + int synced; /**< indicates stream synchronisation. TODO: mpg->priv */ - any_t* priv; /**< private data of demuxer's driver.*/ - any_t* info; /**< human-readable info from stream/movie (like movie name,author,duration)*/ - struct demuxer_driver_s* driver; /**< driver associated with this demuxer */ + any_t* priv; /**< private data of demuxer's driver.*/ + any_t* info; /**< human-readable info from stream/movie (like movie name,author,duration)*/ + struct demuxer_driver_s* driver; /**< driver associated with this demuxer */ } demuxer_t; /* Return values for control interface */ @@ -201,7 +198,7 @@ } demux_packet_t* clone_demux_packet(demux_packet_t* pack); -demux_stream_t* new_demuxer_stream(struct demuxer_st *demuxer,int id); +demux_stream_t* new_demuxer_stream(struct demuxer_s *demuxer,int id); demuxer_t* new_demuxer(stream_t *stream,int type,int a_id,int v_id,int s_id); void free_demuxer_stream(demux_stream_t *ds); #define FREE_DEMUXER_STREAM(d) { free_demuxer_stream(d); d=NULL; } Modified: mplayerxp/libmpdemux/stheader.h =================================================================== --- mplayerxp/libmpdemux/stheader.h 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/stheader.h 2012-10-25 09:12:05 UTC (rev 203) @@ -9,86 +9,82 @@ #include "../mp_image.h" -typedef struct { - int aid; - demux_stream_t *ds; - unsigned int format; - struct codecs_st *codec; - int inited; - // output format: - float timer; // value of old a_frame - unsigned samplerate; - unsigned samplesize; - unsigned channels; - unsigned o_bps; // == samplerate*samplesize*channels (uncompr. bytes/sec) - unsigned i_bps; // == bitrate (compressed bytes/sec) - // in buffers: - char* a_in_buffer; - int a_in_buffer_len; - unsigned a_in_buffer_size; +typedef struct sh_audio_s { + int aid; + demux_stream_t* ds; + unsigned int format; + struct codecs_st* codec; + int inited; +// output format: + float timer; // value of old a_frame + unsigned samplerate; + unsigned samplesize; + unsigned channels; + unsigned o_bps; // == samplerate*samplesize*channels (uncompr. bytes/sec) + unsigned i_bps; // == bitrate (compressed bytes/sec) +// in buffers: + char* a_in_buffer; + int a_in_buffer_len; + unsigned a_in_buffer_size; - // out buffers: - char* a_buffer; - int a_buffer_len; - unsigned a_buffer_size; +// out buffers: + char* a_buffer; + int a_buffer_len; + unsigned a_buffer_size; - /* filter buffer */ - any_t* afilter; - int afilter_inited; - unsigned af_bps; // == samplerate*samplesize*channels (after filters bytes/sec) - char * af_buffer; - unsigned af_buffer_len; - float af_pts; +/* filter buffer */ + any_t* afilter; + int afilter_inited; + unsigned af_bps; // == samplerate*samplesize*channels (after filters bytes/sec) + char* af_buffer; + unsigned af_buffer_len; + float af_pts; - int sample_format; - float a_pts; - int a_pts_pos; - int chapter_change; - // win32 codec stuff: - AVIStreamHeader audio; - WAVEFORMATEX *wf; + int sample_format; + float a_pts; + int a_pts_pos; + int chapter_change; +// win32 codec stuff: + AVIStreamHeader audio; + WAVEFORMATEX* wf; // char wf_ext[64]; // in format - unsigned audio_in_minsize; - unsigned audio_out_minsize; - // other codecs: - any_t* context; // codec-specific stuff (usually HANDLE or struct pointer) - unsigned char *codecdata; - unsigned codecdata_len; + unsigned audio_in_minsize; + unsigned audio_out_minsize; +// other codecs: + any_t* context; // codec-specific stuff (usually HANDLE or struct pointer) + unsigned char* codecdata; + unsigned codecdata_len; } sh_audio_t; -typedef struct { - int vid; - demux_stream_t *ds; - unsigned int format; - struct codecs_st *codec; - int inited; - int is_static; /* default: 0 - means movie; 1 - means picture (.jpg ...)*/ - // output format: - float timer; // value of old v_frame - float fps; - float frametime; // 1/fps - int chapter_change; - unsigned i_bps; // == bitrate (compressed bytes/sec) - unsigned disp_w,disp_h;// display size (filled by fileformat parser) +typedef struct sh_video_s { + int vid; + demux_stream_t* ds; + unsigned int format; + struct codecs_st* codec; + int inited; + int is_static; /* default: 0 - means movie; 1 - means picture (.jpg ...)*/ +// output format: + float timer; // value of old v_frame + float fps; + float frametime; // 1/fps + int chapter_change; + unsigned i_bps; // == bitrate (compressed bytes/sec) + unsigned disp_w,disp_h;// display size (filled by fileformat parser) // int coded_w,coded_h; // coded size (filled by video codec) - float aspect; - unsigned int outfmtidx; - /* vfilter chan */ - any_t*vfilter; - int vfilter_inited; - int vf_flags; - pthread_mutex_t mutex; - unsigned active_slices; + float aspect; + unsigned int outfmtidx; +/* vfilter chan */ + any_t* vfilter; + int vfilter_inited; + int vf_flags; + unsigned active_slices; // used in dec_video+vd_ffmpeg only!!! // unsigned int bitrate; - // buffers: - float num_frames; // number of frames played - int num_frames_decoded; // number of frames decoded - mp_image_t *image; - // win32 codec stuff: - AVIStreamHeader video; - BITMAPINFOHEADER *bih; // in format - any_t* context; // codec-specific stuff (usually HANDLE or struct pointer) - any_t* ImageDesc; // for quicktime codecs + mp_image_t* image; +// win32 codec stuff: + AVIStreamHeader video; + BITMAPINFOHEADER* bih; // in format + any_t* context; // codec-specific stuff (usually HANDLE or struct pointer) + any_t* ImageDesc; // for quicktime codecs } sh_video_t; sh_audio_t* get_sh_audio(demuxer_t *demuxer,int id); @@ -104,3 +100,4 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,float *v_pts,unsigned char** start,int force_fps); #endif + Modified: mplayerxp/libmpdemux/video.c =================================================================== --- mplayerxp/libmpdemux/video.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/libmpdemux/video.c 2012-10-25 09:12:05 UTC (rev 203) @@ -534,12 +534,10 @@ } // Increase video timers: - sh_video->num_frames+=frame_time; - ++sh_video->num_frames_decoded; - frame_time*=sh_video->frametime; + /* override frame_time for variable/unknown FPS formats: */ - if(!force_fps) + if(!force_fps) switch(demuxer->file_format) { case DEMUXER_TYPE_REAL: Modified: mplayerxp/mplayer.c =================================================================== --- mplayerxp/mplayer.c 2012-10-25 09:10:31 UTC (rev 202) +++ mplayerxp/mplayer.c 2012-10-25 09:12:05 UTC (rev 203) @@ -1176,11 +1176,11 @@ //================= Update OSD ==================== static void __show_status_line(float a_pts,float video_pts,float delay,float AV_delay,video_stat_t *vstat) { MSG_STATUS("A:%6.1f V:%6.1f A-V:%7.3f ct:%7.3f %3d/%3d %2d%% %2d%% %4.1f%% %d %d [frms: [%i]]\n", - a_pts-delay,video_pts,AV_delay,c_total, - (int)sh_video->num_frames,sh_video->num_frames_decoded, - (sh_video->timer>0.5)?(int)(100.0*video_time_usage/(double)sh_video->timer):0, - (sh_video->timer>0.5)?(int)(100.0*vout_time_usage/(double)sh_video->timer):0, - (sh_video->timer>0.5)?(100.0*(audio_time_usage+audio_decode_time_usage)/(double)sh_video->timer):0 + a_pts-delay,video_pts,AV_delay,c_total + ,xp_core.video->num_played_frames,xp_core.video->num_decoded_frames + ,(sh_video->timer>0.5)?(int)(100.0*video_time_usage/(double)sh_video->timer):0 + ,(sh_video->timer>0.5)?(int)(100.0*vout_time_usage/(double)sh_video->timer):0 + ,(sh_video->timer>0.5)?(100.0*(audio_time_usage+audio_decode_time_usage)/(double)sh_video->timer):0 ,vstat->drop_frame_cnt ,output_quality ,dae_curr_vplayed() @@ -1217,7 +1217,7 @@ ,a_pts ,sh_video->timer ,a_pts-sh_video->timer,0.0 - ,(int)sh_video->num_frames,sh_video->num_frames_decoded + ,xp_core.video->num_played_frames,xp_core.video->num_decoded_frames ,(sh_video->timer>0.5)?(int)(100.0*video_time_usage/(double)sh_video->timer):0 ,(sh_video->timer>0.5)?(int)(100.0*vout_time_usage/(double)sh_video->timer):0 ,(sh_video->timer>0.5)?(100.0*(audio_time_usage+audio_decode_time_usage)/(double)sh_video->timer):0 @@ -1227,7 +1227,7 @@ } else MSG_STATUS("V:%6.1f %3d %2d%% %2d%% %4.1f%% %d %d\r" ,v_pts - ,(int)sh_video->num_frames + ,xp_core.video->num_played_frames ,(sh_video->timer>0.5)?(int)(100.0*video_time_usage/(double)sh_video->timer):0 ,(sh_video->timer>0.5)?(int)(100.0*vout_time_usage/(double)sh_video->timer):0 ,(sh_video->timer>0.5)?(100.0*(audio_time_usage+audio_decode_time_usage)/(double)sh_video->timer):0 @@ -1259,8 +1259,6 @@ shva=dae_played_fra(xp_core.video); - sh_video->num_frames = shva.num_frames; - sh_video->num_frames_decoded = shva.frame_no; *v_pts = shva.v_pts; /*------------------------ frame decoded. --------------------*/ @@ -1458,11 +1456,6 @@ } if(seek_rval){ mpxp_seek_time = GetTimerMS(); - if(sh_video) { - // Send back frame info to decoding thread - dec_ahead_seek_num_frames = sh_video->num_frames; - dec_ahead_seek_num_frames_decoded = sh_video->num_frames_decoded; - } // success: /* FIXME there should be real seeking for vobsub */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |