[Bug 647856] [oggmux] Assumes that the first buffer can be used to detect the stream type

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Apr 15 05:57:32 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=647856
  GStreamer | gst-plugins-base | git

Sebastian Dröge <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #186018|none                        |needs-work
             status|                            |

--- Comment #3 from Sebastian Dröge <slomo at circular-chaos.org> 2011-04-15 12:57:26 UTC ---
Review of attachment 186018:
 --> (https://bugzilla.gnome.org/review?bug=647856&attachment=186018)

::: ext/ogg/gstoggmux.c
@@ +852,3 @@
+            /* Use headers in caps, if any; this will allow us to be resilient
to
+               starting streams on the fly, and some streams (like VP8 at
least) do
+               not send headers packets, as other muxers don't expect/need
them. */

I would always use the streamheader buffers in any case and only fallback to
the in-stream header buffers if no streamheaders are available (does this
happen at all?). IIRC oggmux is dropping in-stream header buffers anyway and
uses them from the caps.

@@ +863,3 @@
+                    && G_VALUE_TYPE (streamheader) == GST_TYPE_ARRAY) {
+                  const GArray *bufarr = g_value_peek_pointer (streamheader);
+                  const GValue *bufval = &g_array_index (bufarr, GValue, 0);

Use the gst_value_array* API here

@@ +866,3 @@
+                  if (G_VALUE_TYPE (bufval) == GST_TYPE_BUFFER) {
+                    ogg_packet packet;
+                    GstBuffer *buf = g_value_peek_pointer (bufval);

gst_value_get_buffer()

-- 
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