[Bug 705079] hlsdemux: switch fragments to buffer lists to avoid copies

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jul 30 01:42:52 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=705079
  GStreamer | gst-plugins-bad | 1.1.2

Sebastian Dröge (slomo) <slomo> changed:

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

--- Comment #1 from Sebastian Dröge (slomo) <slomo at circular-chaos.org> 2013-07-30 08:42:44 UTC ---
Review of attachment 250372:
 --> (https://bugzilla.gnome.org/review?bug=705079&attachment=250372)

::: ext/hls/gsthlsdemux.c
@@ +1322,3 @@
+
+    /* Make sure we are aligned to the cipher block size */
+    buf_size &= ~(buf_size & (block_size - 1));

Doesn't this cause us to decrypt parts of the buffer twice?

@@ +1342,3 @@
+      /* Handle pkcs7 unpadding here */
+      gsize unpadded_size = map.size - map.data[map.size - 1];
+      gst_buffer_resize (buffer, 0, unpadded_size);

In theory the unpadding could remove one or more buffers from the list in the
end.

::: gst-libs/gst/uridownloader/gstfragment.c
@@ +47,2 @@
   GstCaps *caps;
+  gsize size;

Why not make the size a property too?

@@ +245,3 @@
+    buffer = gst_buffer_list_get (fragment->priv->buffer_list, 0);
+    if (buffer) {
+      caps = gst_type_find_helper_for_buffer (NULL, buffer, NULL);

This could mean that you only typefind on a very small buffer, which might fail
just because of that

::: gst-libs/gst/uridownloader/gstfragment.h
@@ +61,3 @@
 GType gst_fragment_get_type (void);

+GstBufferList * gst_fragment_get_buffer_list (GstFragment *fragment);

This also needs changes in dashdemux and mssdemux

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