[Bug 628429] Add support for DivX XSUB subtitles

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jul 15 01:14:45 PDT 2013


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

Sebastian Dröge <slomo> changed:

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

--- Comment #21 from Sebastian Dröge <slomo at circular-chaos.org> 2013-07-15 08:14:36 UTC ---
Review of attachment 249058:
 --> (https://bugzilla.gnome.org/review?bug=628429&attachment=249058)

::: gst/xsub/gstxsub.c
@@ +287,3 @@
+
+  frame_start = GST_BUFFER_TIMESTAMP (buf);
+  frame_stop = frame_start + GST_BUFFER_DURATION (buf);

You assume here that all video buffers have timestamps and a duration. You need
to check and fail if they are not there

@@ +304,3 @@
+
+      if (frame_start <= spu_stop)
+        break;

You can make the check a bit more simple I guess. The spu is to be displayed if
(spu_start < frame_stop && spu_stop > frame_start). It is to be dropped if
(spu_stop <= frame_start) and you have to wait if (spu_start >= frame_stop).

Also please implement synchronization between spu and video stream here, look
at assrender for an example.

@@ +406,3 @@
+    GST_ERROR_OBJECT (pad, "Parsing of header/spu data failed!");
+    gst_buffer_unref (parsed->buf);
+    g_slice_free (GstXSubData, parsed);

Shouldn't this return GST_FLOW_ERROR after a few errors in a row then?

@@ +411,3 @@
+    parsed->bgless_row = g_slice_alloc (parsed->width * XSUB_RGB_BPP);
+    g_mutex_lock (&filter->spu_queue_lock);
+    g_queue_push_tail (&filter->spu_queue, parsed);

Synchronization with video chain missing here

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