[Bug 705991] Adding support for DASH common encryption to qtdemux and dashdemux
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Jan 15 13:21:13 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=705991
GStreamer | gst-plugins-good | git
--- Comment #46 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2014-01-15 21:21:09 UTC ---
(In reply to comment #45)
> (In reply to comment #44)
>
> > How does a GstValueArray work with intersecting?
> >
> > If qtdemux outputs:
> >
> > "application/x-cenc, encryption-scheme={A, B, C}"
> >
> > and my system has a decrypter with:
> >
> > "application/x-cenc, encryption-scheme=A"
> >
> > Does it work? Or will it only work with the autodecrypter that has all possible
> > systems and does everything underneath?
>
> That's a GstValueList, and there it would would intersect if your element
> handles any of the encryption schemes but unfortunately a GstValueList is not a
> fixed value.
>
> GstValueArray is e.g. encryption-scheme=<A, B, C> and considered fixed. And
> your element is only compatible with that if it has exactly <A, B, C> (and in
> that order!) on the caps.
>
> But the idea here is that there is a generic cenc autoplugger that has just
> "application/x-cenc" on the caps and then internally autoplugs a cenc decryptor
> that handles the encryption-scheme.
>
>
> IMHO not as nice conceptionally as the other solution that would use the caps
> as they're supposed to be used (and requires ugly caps, see above)... but still
> an acceptable compromise.
I don't like this very much. The only way I can see this being flexible enough
is if this cencdecrypt offers some kind of API to register decrypting modules
(something similar to typefind) and as we don't need typefind-mp4 element we
would never have to write a cenc-A-decrypt element. If this is the case, I
think it is an ok solution.
OTOH if we want to go with different elements and autoplugging just like
regular decoding, we would need a new kind of GstCaps field. A
GstSimultaneousList (maybe GstQuanticList? :) that would always be fixed with
multiple values and would intersect* still resulting in a fixed caps.
I haven't thought deeply on the pros and cons of those options, but I guess we
need to either go typefind-like or autoplugging, mixing those 2 options can
lead to inconsistencies in the future.
* intersect of src caps cenc="A, B, C" with cenc="A, D" should still be "A, B,
C" to keep the caps consistent with what's in it. I hope this doesn't break
much of our caps logic/math :)
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list