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 656823 - [ismlmux] ismlmux has iso variant, just like mp4mux
[ismlmux] ismlmux has iso variant, just like mp4mux
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other All
: Normal blocker
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-18 14:33 UTC by Thiago Sousa Santos
Modified: 2011-11-25 22:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thiago Sousa Santos 2011-08-18 14:33:31 UTC
The title says it all. This could confuse encodebin when selecting an appropriate muxer.
Comment 1 Thiago Sousa Santos 2011-08-23 12:04:26 UTC
Any ideas on what should be the variant here?

ism, isml, fmp4, fragmented-mp4, ismv?
Comment 2 Marc-Andre Lureau 2011-08-23 12:30:07 UTC
Tbh, I don't know exactly what that will imply. The major is "isml" for .ismv/.isma files. But iirc, ismv files are compatible with iso fmp4, aren't they? so, why would they need a different variant?
Comment 3 Thiago Sousa Santos 2011-08-23 12:34:42 UTC
(In reply to comment #2)
> Tbh, I don't know exactly what that will imply. The major is "isml" for
> .ismv/.isma files. But iirc, ismv files are compatible with iso fmp4, aren't
> they? so, why would they need a different variant?

Because encodebin will pick a muxer based on the caps on the profile, currently there is no way for encodebin to differ mp4mux and ismlmux.

We could use fragmented-iso as a variant.
Comment 4 Marc-Andre Lureau 2011-08-23 12:50:09 UTC
(In reply to comment #3)
> Because encodebin will pick a muxer based on the caps on the profile, currently
> there is no way for encodebin to differ mp4mux and ismlmux.

Is the 'variant' caps internal to GStreamer? It is something defined and used only by GStreamer?

> We could use fragmented-iso as a variant.

I would expect fragmented-iso to be mp4mux with fragment-duration != 0 (ie not isml major and incompatible with wmv/wma probably)

note afaict, 'isml' brand usage is limited to IIS/expression encoder or other streaming products. I haven't encounter them elsewhere.
Comment 5 Thiago Sousa Santos 2011-08-23 13:05:30 UTC
Let me try to explain the problem, it seems you are unfamiliar with encodebin.

In a few words, encodebin will automatically to create its internal pipeline for encoding to a user defined format. For this to work, it will take a GstCaps and map that into a muxer's srcpad caps.

In the qtmux family we have:

video/quicktime, variant=apple -> qtmux
video/quicktime, variant=iso   -> mp4mux
video/quicktime, variant=3gpp  -> 3gppmux
video/quicktime, variant=iso   -> ismlmux

As you can see, if the user passes 'video/quicktime, variant=iso' to encodebin, it can pick mp4mux or ismlmux and it would be correct. The user has no way of specifying if it wants a 'standard' or 'fragmented' isomp4 output with encodebin.

So we need to change the variant currently exposed on ismlmux's caps.
Comment 6 Sebastian Dröge (slomo) 2011-11-24 08:36:18 UTC
Any news on this? Why is this a blocker?
Comment 7 Thiago Sousa Santos 2011-11-24 11:43:49 UTC
If you pass 'video/quicktime, variant=iso' to encodebin's as a container profile, it can select both ismlmux or mp4mux. They have no distinction caps-wise. We just have to select the proper name for ismlmux variant.
Comment 8 Sebastian Dröge (slomo) 2011-11-24 11:46:18 UTC
I see but is this a regression?

Also, just call it variant=iso-fragmented then ;)
Comment 9 Thiago Sousa Santos 2011-11-25 22:34:42 UTC
commit a3bc43192477baf4a8a0510fd55a762a408955c0
Author: Thiago Santos <thiago.sousa.santos@collabora.com>
Date:   Fri Nov 25 19:28:55 2011 -0300

    ismlmux: Use iso-fragmented as variant type
    
    Using 'iso' conflicts with mp4mux variant type, ismlmux now
    uses iso-fragmented
    
    Fixes #656823