summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_out.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-09 03:37:59 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-09 03:37:59 +0000
commit645f84663db1951293a7c821dccba45ebdabfcfe (patch)
tree25921d66b1107950db591aa98e2086623c5e83cd /src/xine-engine/video_out.c
parent28fd212fe15c240f337575a12057d3468e5ee05d (diff)
downloadxine-lib-645f84663db1951293a7c821dccba45ebdabfcfe.tar.gz
xine-lib-645f84663db1951293a7c821dccba45ebdabfcfe.tar.bz2
- new (fast) demuxer seeking scheme
- updated decoder api to allow reseting internal state on seeks CVS patchset: 1696 CVS date: 2002/04/09 03:37:59
Diffstat (limited to 'src/xine-engine/video_out.c')
-rw-r--r--src/xine-engine/video_out.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c
index b090cddeb..43ccff317 100644
--- a/src/xine-engine/video_out.c
+++ b/src/xine-engine/video_out.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: video_out.c,v 1.92 2002/04/02 19:29:09 esnel Exp $
+ * $Id: video_out.c,v 1.93 2002/04/09 03:38:01 miguelfreitas Exp $
*
* frame allocation / queuing / scheduling / output functions
*/
@@ -666,11 +666,14 @@ static void *video_out_loop (void *this_gen) {
diff = vpts - this->last_delivery_pts;
if (diff > 30000 && !this->display_img_buf_queue->first) {
if (this->xine->cur_video_decoder_plugin) {
- this->xine->cur_video_decoder_plugin->flush(this->xine->cur_video_decoder_plugin);
#ifdef LOG
- printf ("video_out: flushing current video decoder plugin\n");
+ printf ("video_out: flushing current video decoder plugin (%d %d)\n",
+ this->display_img_buf_queue->num_buffers,
+ this->free_img_buf_queue->num_buffers);
#endif
+
+ this->xine->cur_video_decoder_plugin->flush(this->xine->cur_video_decoder_plugin);
}
this->last_delivery_pts = vpts;
}
@@ -700,6 +703,10 @@ static void *video_out_loop (void *this_gen) {
usec_to_sleep, vpts);
#endif
+ if ( (next_frame_vpts - vpts) > 2*90000 )
+ printf("video_out: vpts/clock error, next_vpts=%lld cur_vpts=%lld\n",
+ next_frame_vpts,vpts);
+
if (usec_to_sleep>0)
xine_usec_sleep (usec_to_sleep);