[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[226] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2012-10-27 14:01:24
|
Revision: 226 http://mplayerxp.svn.sourceforge.net/mplayerxp/?rev=226&view=rev Author: nickols_k Date: 2012-10-27 14:01:14 +0000 (Sat, 27 Oct 2012) Log Message: ----------- merge similar code into function Modified Paths: -------------- mplayerxp/mplayer.c mplayerxp/xmp_core.c mplayerxp/xmp_core.h Modified: mplayerxp/mplayer.c =================================================================== --- mplayerxp/mplayer.c 2012-10-27 10:31:00 UTC (rev 225) +++ mplayerxp/mplayer.c 2012-10-27 14:01:14 UTC (rev 226) @@ -1435,11 +1435,7 @@ } } - if(sh_video) { - do { - usleep(0); - }while(dae_get_decoder_outrun(xp_core.video) < xp_core.num_v_buffs/2 && !xp_core.eof); - } + if(sh_video) dae_wait_decoder_outrun(xp_core.video); } void mpxp_reset_vcache(void) @@ -2631,11 +2627,9 @@ We may print something in block window ;) */ mpxp_seek_time = GetTimerMS(); - if(sh_video) { - do { - usleep(0); - }while(dae_get_decoder_outrun(xp_core.video) < xp_core.num_v_buffs/2 && !xp_core.eof); - } + + if(sh_video) dae_wait_decoder_outrun(xp_core.video); + if(xmp_run_players()!=0) exit_player("Can't run xp players!\n"); MSG_OK("Using the next %i threads:\n",xp_core.num_threads); unsigned idx; Modified: mplayerxp/xmp_core.c =================================================================== --- mplayerxp/xmp_core.c 2012-10-27 10:31:00 UTC (rev 225) +++ mplayerxp/xmp_core.c 2012-10-27 14:01:14 UTC (rev 226) @@ -135,6 +135,14 @@ return decoder_idx-it->player_idx; } +void dae_wait_decoder_outrun(const dec_ahead_engine_t* it) { + if(it) { + do { + usleep(0); + }while(dae_get_decoder_outrun(it) < xp_core.num_v_buffs/2); + } +} + frame_attr_t dae_played_fra(const dec_ahead_engine_t* it) { unsigned idx=it->player_idx; return it->fra[idx]; Modified: mplayerxp/xmp_core.h =================================================================== --- mplayerxp/xmp_core.h 2012-10-27 10:31:00 UTC (rev 225) +++ mplayerxp/xmp_core.h 2012-10-27 14:01:14 UTC (rev 226) @@ -94,14 +94,14 @@ extern int xmp_run_players( void ); extern void xmp_reset_sh_video(sh_video_t* shv); -extern void dae_init(dec_ahead_engine_t* it,unsigned nframes); -extern void dae_uninit(dec_ahead_engine_t* it); -extern void dae_reset(dec_ahead_engine_t* it); /* after mpxp_seek */ +extern void dae_init(dec_ahead_engine_t* it,unsigned nframes); +extern void dae_uninit(dec_ahead_engine_t* it); +extern void dae_reset(dec_ahead_engine_t* it); /* after mpxp_seek */ /* returns 1 - on success 0 - if busy */ -extern int dae_try_inc_played(dec_ahead_engine_t* it); -extern int dae_inc_played(dec_ahead_engine_t* it); -extern int dae_inc_decoded(dec_ahead_engine_t* it); +extern int dae_try_inc_played(dec_ahead_engine_t* it); +extern int dae_inc_played(dec_ahead_engine_t* it); +extern int dae_inc_decoded(dec_ahead_engine_t* it); extern unsigned dae_prev_played(const dec_ahead_engine_t* it); extern unsigned dae_prev_decoded(const dec_ahead_engine_t* it); @@ -109,6 +109,7 @@ extern unsigned dae_next_decoded(const dec_ahead_engine_t* it); /* returns normalized decoder_idx-player_idx */ extern unsigned dae_get_decoder_outrun(const dec_ahead_engine_t* it); +extern void dae_wait_decoder_outrun(const dec_ahead_engine_t* it); static inline unsigned dae_curr_vplayed() { return xp_core.video->player_idx; } static inline unsigned dae_curr_vdecoded() { return xp_core.video->decoder_idx; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |