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 541215 - [avimux] Dirac muxing is broken and results in A/V sync issues
[avimux] Dirac muxing is broken and results in A/V sync issues
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.31
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-07-02 10:47 UTC by Jonathan Rosser
Modified: 2011-06-15 22:43 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Reparse Dirac streams into appropriate chunks for AVI. (4.82 KB, patch)
2008-07-17 02:54 UTC, David Schleef
rejected Details | Review

Description Jonathan Rosser 2008-07-02 10:47:20 UTC
I muxed an AVI file containing dirac video and mp3 audio as follows (via makefile):

#multiplex the .drc and audio into an AVI container
%.avi: %.drc $(AINPUT)
        gst-launch avimux name=mux ! filesink location=$@ \
        filesrc location=$< ! \
        schroparse ! \
        queue ! \
        mux. \
        filesrc location=$(AINPUT) ! \
        flacdec ! \
        audioconvert ! \
        lame ! \
        queue ! \
        mux.

The resulting AVI file plays in totem and maintains A/V sync if the file plays from the start.

Seeking through the file results in complete loss of A/V sync, but both tracks continue to play.

I'm using recent, but not latest HEAD CVS.
Comment 1 David Schleef 2008-07-02 18:26:27 UTC
This is likely due avimux not grouping together dirac packets into picture units.  That is, it puts sequence headers and other stuff into separate AVI frames, which throws off seek sync.
Comment 2 David Schleef 2008-07-17 02:54:43 UTC
Created attachment 114695 [details] [review]
Reparse Dirac streams into appropriate chunks for AVI.
Comment 3 Sebastian Dröge (slomo) 2008-07-19 08:47:48 UTC
Looks good but maybe add a comment why this is needed and what parse_code & 0x08 is so people don't need to look into the Dirac spec just for this ;)
Comment 4 Jan Schmidt 2008-07-19 11:09:27 UTC
+    guint8 *buffer_data = GST_BUFFER_DATA(data);
+
+    parse_code = buffer_data[4];
+

This bit looks like an unchecked array access, unless it's checking the buffer size somewhere earlier?
Comment 5 Jan Schmidt 2008-07-19 13:10:06 UTC
I want to make pre-releases, and ds is still sleeping -> let's put this in the 2nd pre-release tarball in a few days.
Comment 6 David Schleef 2008-07-23 22:07:43 UTC
I want to withdraw this patch anyway.  It's only partially correct, and I'd rather implement the strategy I talked about on the mailing list a few days ago.
Comment 7 Jan Schmidt 2008-07-24 00:29:53 UTC
OK - that sounds a bit more long term than this release.
Comment 8 Tim-Philipp Müller 2009-05-31 19:36:10 UTC
David: ping?
Comment 9 Sebastian Dröge (slomo) 2009-09-10 08:32:32 UTC
Ping²?
Comment 10 Tobias Mueller 2010-03-10 12:12:18 UTC
Hm. David, is that still an issue? I'd close this bug if there's no activity soonish.
Comment 11 David Schleef 2010-03-13 02:28:18 UTC
Yes, it's still a bug.  But I have very little interest in making anything related to AVI work.
Comment 12 Robert Swain 2010-11-17 11:26:22 UTC
This should be marked as being a gst-plugins-good issue.
Comment 13 Tim-Philipp Müller 2010-12-29 13:14:11 UTC
> Yes, it's still a bug.  But I have very little interest in making anything
> related to AVI work.

Why did you make avimux support diract then? (commit 1a90a6c4)

Maybe we should just revert that if it's broken and/or we're not willing to support it.
Comment 14 Christian Fredrik Kalager Schaller 2011-05-26 14:57:24 UTC
Should Dirac in AVI be disabled? It is probably a quite obscure feature anyway and if nobody really wants to work on it we should just remove it.
Comment 15 Sebastian Dröge (slomo) 2011-05-27 07:19:20 UTC
commit 0a67d131b988e7db5192c6b808020424298dde8b
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Fri May 27 09:17:46 2011 +0200

    avimux: Revert 1a90a6c4 and drop Dirac support again
    
    It does not work at all (A/V sync issues), is not very useful,
    other containers work much better with Dirac and Dirac in AVI
    is not supported by other software.
    
    Fixes bug #541215.