summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEduard Hasenleithner <ehasenle@users.sourceforge.net>2001-08-14 08:21:41 +0000
committerEduard Hasenleithner <ehasenle@users.sourceforge.net>2001-08-14 08:21:41 +0000
commit1d89db992a61b194d6e0e6211183c2cbe902d817 (patch)
tree41b3ee0e58d2ec76663f886fbecc4c5e520319b1 /src
parent188ccb1225ed85867f34a8eb3ac6af39b6f1adba (diff)
downloadxine-lib-1d89db992a61b194d6e0e6211183c2cbe902d817.tar.gz
xine-lib-1d89db992a61b194d6e0e6211183c2cbe902d817.tar.bz2
fixed a race condition which caused the dxr3 to hang at playback start
with subpictures turned on. CVS patchset: 425 CVS date: 2001/08/14 08:21:41
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/metronom.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c
index 803f2abb4..40e1c59aa 100644
--- a/src/xine-engine/metronom.c
+++ b/src/xine-engine/metronom.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: metronom.c,v 1.17 2001/08/07 16:00:10 ehasenle Exp $
+ * $Id: metronom.c,v 1.18 2001/08/14 08:21:41 ehasenle Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -356,6 +356,13 @@ static uint32_t metronom_got_spu_packet (metronom_t *this, uint32_t pts,uint32_t
pts=this->spu_vpts;
this->spu_vpts=this->spu_vpts;
}
+
+ /* it happens with the dxr3 that got_spu_packet is called before *
+ * got_video_frame. Since video_wrap_offset is zero until then, *
+ * the return value would be wrong. In this case zero is returned */
+ if (this->video_stream_starting)
+ return 0;
+
return pts + this->video_wrap_offset;
}