After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 429322 - [matroska-demux] hangs if file starts at non-zero timestamp
[matroska-demux] hangs if file starts at non-zero timestamp
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.5
Other All
: Normal normal
: 0.10.9
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-04-13 11:50 UTC by Robert Görtz
Modified: 2008-06-19 08:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A file with starting cluster timecode >> 0 (773.12 KB, application/octet-stream)
2007-04-13 13:36 UTC, Robert Görtz
  Details
Possible solution to the problem (2.32 KB, patch)
2007-04-13 13:49 UTC, Robert Görtz
none Details | Review

Description Robert Görtz 2007-04-13 11:50:56 UTC
Please describe the problem:
Playing an mkv file containing a video stream with starting cluster timecode \> 0, the video hangs after the first image has been shown.



Steps to reproduce:
1. Generate an mkv file with starting cluster timecode \>\> 0.
2. gst-launch-0.10 filesrc location=\<mkv file path\>! matroskademux ! jpegdec ! xvimagesink 
3. 


Actual results:
You get the first image of the video, then the video hangs, waiting to reach the time in the cluster timecode.

Expected results:
The video should play as normal.

Does this happen every time?
Yes.

Other information:
Comment 1 Robert Görtz 2007-04-13 13:36:13 UTC
Created attachment 86291 [details]
A file with starting cluster timecode >> 0

Use this mkv file and set up an example pipe as in the problem description
Comment 2 Robert Görtz 2007-04-13 13:49:14 UTC
Created attachment 86292 [details] [review]
Possible solution to the problem
Comment 3 Sebastian Dröge (slomo) 2008-02-25 06:59:10 UTC
Looks good, I'll commit this patch or something similar fixing this issue in the next days.
Comment 4 Sebastian Dröge (slomo) 2008-06-19 08:22:01 UTC
2008-06-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/matroska/matroska-demux.c:
	(gst_matroska_demux_parse_blockgroup_or_simpleblock):
	If a gap of more than 1/2 second is found in one stream send a
	NEWSEGMENT event to not stall the pipeline if the gap is too large.
	This also fixes Matroska files where the first buffer doesn't start
	at timestamp 0. Fixes bug #429322.

	The duration of a block is the default duration multiplied with the
	number of laces. Every lace is one frame and the default duration
	is the duration of one frame. This fixes playback of files that use
	lacing for some tracks.