[gstreamer-bugs] [Bug 626181] [pbutils] Add enhanced gstfactorylists
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Aug 6 09:23:06 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=626181
GStreamer | gst-plugins-base | git
--- Comment #8 from Sebastian Dröge <slomo at circular-chaos.org> 2010-08-06 16:23:04 UTC ---
Review of attachment 167259:
--> (https://bugzilla.gnome.org/review?bug=626181&attachment=167259)
First of all I don't think this belongs into core... There's stuff about audio
and video in here.
Also, why don't you use a GstCaps instead of a GValueArray? That makes things a
bit easier I guess... especially because your caps inside the value array only
have a single, simple structure ;)
And then you might want to try to port subtitleoverlay to this. It needs a list
of subtitle parsers/decoders and subtitle renderers.
Other comments below
::: gst-libs/gst/pbutils/gstfactorylists.c
@@ +348,3 @@
+ while (!gst_structure_foreach (st,
+ (GstStructureForeachFunc) remove_range_foreach, st));
+ }
For this you might want to take a look at
http://svn.debian.org/viewsvn/pkg-gstreamer/unstable/gstreamer0.10/debian/gst-codec-info.c?revision=3298&view=markup
Search for "codec_data" and remove_min_max_fields(). I think that's a bit safer
and better than simply removing *all* ranges.
@@ +353,3 @@
+
+ /* Explode to individual structures */
+ res2 = gst_caps_normalize (res);
Why is the normalizing here necessary?
@@ +376,3 @@
+ tmpc = gst_caps_new_full (st, NULL);
+
+ /* Check if the caps are already present */
If you were using a GstCaps instead of a GValueArray of normalized, simple caps
this could be done by gst_caps_merge_structure() ;)
::: gst-libs/gst/pbutils/gstfactorylists.h
@@ +40,3 @@
+ * @GST_FACTORY_LIST_MEDIA_VIDEO: Elements handling video media types
+ * @GST_FACTORY_LIST_MEDIA_AUDIO: Elements handling audio media types
+ * @GST_FACTORY_LIST_MEDIA_IMAGE: Elements handling image media types
Maybe add something for subtitles, subpictures and metadata here
@@ +61,3 @@
+ GST_FACTORY_LIST_DEPAYLOADER = (1 << 8),
+
+ GST_FACTORY_LIST_MAX_ELEMENTS = (1 << 16),
If you want to add special purpose elements here 16 might be too small
@@ +101,3 @@
+GValueArray * gst_factory_list_get_elements (GstFactoryListType type, GstRank
minrank);
+
+void gst_factory_list_debug (GValueArray *array);
Should this debug function really be public?
--
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