diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-02-09 07:13:22 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-02-09 07:13:22 +0000 |
commit | 8700c75544d88f1479d5455b5b2788921d4dd5ee (patch) | |
tree | 7a80e2b00e4e7294c7d7ca1440c4d136ccf12998 /src/xine-engine/xine.c | |
parent | 2f8fed75fc94e7afe89f7b60586f7cb55737efe1 (diff) | |
download | xine-lib-8700c75544d88f1479d5455b5b2788921d4dd5ee.tar.gz xine-lib-8700c75544d88f1479d5455b5b2788921d4dd5ee.tar.bz2 |
the long-awaited video_out changes, not completely debuged (races)
- pts are 64 bit now
- scr and video_out-loop run all the time
- video_out cleanups
- metronom cleanups
- buffer type BUF_CONTROL_DISCONTINUITY is used internally now,
input plugins should no longer send this one
- support for individual frame durations
- using nano-/usleep instead of itimer (simpler code, maybe this will
help freebsd)
CVS patchset: 1487
CVS date: 2002/02/09 07:13:22
Diffstat (limited to 'src/xine-engine/xine.c')
-rw-r--r-- | src/xine-engine/xine.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 5f8e9be8d..1329dde12 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.102 2002/02/01 09:59:08 f1rmb Exp $ + * $Id: xine.c,v 1.103 2002/02/09 07:13:24 guenter Exp $ * * top-level xine functions * @@ -159,7 +159,7 @@ void xine_stop_internal (xine_t *this) { this->metronom->set_speed (this->metronom, SPEED_NORMAL); this->speed = SPEED_NORMAL; - this->video_out->video_paused = 0; + if( this->audio_out ) this->audio_out->audio_paused = 0; @@ -298,11 +298,6 @@ int xine_play (xine_t *this, char *mrl, this->cur_input_plugin->stop(this->cur_input_plugin); } - /* this will make output threads discard about everything - (seeking should be faster!) */ - this->metronom->adjust_clock(this->metronom, - this->metronom->get_current_time(this->metronom) + 30 * 90000 ); - this->status = XINE_STOP; } @@ -373,7 +368,7 @@ int xine_play (xine_t *this, char *mrl, strncpy (this->cur_mrl, mrl, 1024); this->metronom->set_speed (this->metronom, SPEED_NORMAL); - this->video_out->video_paused = 0; + if( this->audio_out ) this->audio_out->audio_paused = 0; this->speed = SPEED_NORMAL; @@ -504,7 +499,7 @@ xine_t *xine_init (vo_driver_t *vo, this->video_out = vo_new_instance (vo, this); video_decoder_init (this); - this->osd_renderer = osd_renderer_init( this->video_out->overlay_source, config ); + this->osd_renderer = osd_renderer_init (this->video_out->get_overlay_instance (this->video_out), config ); this->osd = this->osd_renderer->new_object (this->osd_renderer, 300, 100); this->osd_renderer->set_font (this->osd, "cetus", 24); @@ -704,7 +699,6 @@ void xine_set_speed (xine_t *this, int speed) { this->metronom->set_speed (this->metronom, speed); - this->video_out->video_paused = (speed == SPEED_PAUSE); /* see coment on audio_out loop about audio_paused */ if( this->audio_out ) this->audio_out->audio_paused = (speed != SPEED_NORMAL) + |