After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 683192 - assrender: stuck on first video frame with mewmew-vorbis-ssa.mkv
assrender: stuck on first video frame with mewmew-vorbis-ssa.mkv
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.11.x
Other Linux
: Normal major
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-09-02 02:30 UTC by Tim-Philipp Müller
Modified: 2013-01-22 00:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2012-09-02 02:30:41 UTC
For some reason mewmew-vorbis-ssa.mkv is stuck on the first frame with totem and the playback test.

With totem there are invalid (-1) timestamp warnings, see bug #683189.

I'm sure this used to work not too long ago, not sure what changed, might be in videodecoder.

Things work though if assrender is removed from the equation.
Comment 1 Edward Hervey 2012-09-23 09:31:56 UTC
the assrender unit test wasn't succeeding, so I fixed assrender accordingly here:

http://cgit.freedesktop.org/~bilboed/gst-plugins-bad/log/?h=assrender

Not sure if it also fixes this issue
Comment 2 Tim-Philipp Müller 2012-09-23 12:50:07 UTC
Doesn't fix this issue for me unfortunately, also leads to miniobject unref warnings in the unit test.

Also noticed that it hangs on shutdown, which seems to be a bug in videodecoder's locking. Will clone a new bug for that issue.
Comment 3 Tim-Philipp Müller 2012-09-23 18:59:29 UTC
This is how the unit test fails for me with your patch btw:


(lt-assrender:22508): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object->refcount > 0' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x2aaaab629af8 "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=0x2aaaac40c6e2 "%s: assertion `%s' failed", args1=args1@entry=0x7fffffffbb98) at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.h:101
101	/tmp/buildd/glib2.0-2.32.3/./glib/gmessages.h: No such file or directory.
(gdb) bt
  • #0 g_logv
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.h line 101
  • #1 g_log
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.c line 792
  • #2 gst_buffer_unref
    at /home/tpm/gst/0.11/gstreamer/gst/gstbuffer.h line 350
  • #3 gst_ass_render_change_state
    at gstassrender.c line 332
  • #4 gst_element_change_state
    at gstelement.c line 2568
  • #5 gst_element_set_state_func
    at gstelement.c line 2524
  • #6 gst_bin_element_set_state
    at gstbin.c line 2306
  • #7 gst_bin_change_state_func
    at gstbin.c line 2608
  • #8 gst_pipeline_change_state
    at gstpipeline.c line 468
  • #9 gst_element_change_state
    at gstelement.c line 2568
  • #10 gst_element_continue_state
    at gstelement.c line 2279
  • #11 gst_element_change_state
    at gstelement.c line 2605
  • #12 gst_element_set_state_func
    at gstelement.c line 2524
  • #13 test_assrender_basic_xRGB
    at elements/assrender.c line 279
  • #14 tcase_run_tfun_nofork
    at check_run.c line 314
  • #15 srunner_iterate_tcase_tfuns
    at check_run.c line 181
  • #16 srunner_run_tcase
    at check_run.c line 302
  • #17 srunner_iterate_suites
    at check_run.c line 150
  • #18 srunner_run_all
    at check_run.c line 561
  • #19 gst_check_run_suite
    at gstcheck.c line 663
  • #20 main
    at elements/assrender.c line 298

Comment 4 Tim-Philipp Müller 2013-01-22 00:36:21 UTC
This works for me now with Arnaud's fixes:


commit 8d837cbac41b121760207e784ba7b54f1ef84f32
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Thu Jan 17 19:02:48 2013 +0100

    assrender: reenable unit tests and up rank to primary again

commit 143c0cbd45008c208fe8f2201429adb54c101ad2
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Fri Jan 18 16:14:03 2013 +0100

    assrender: use overlay composition to blit subtitles on video frames
    
    Re-uses existing blitting code and also means we can support
    a lot more video formats out of the box, hence avoid unnecessary
    pixel format or colour space conversions.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=692012

commit 5f913665537e40758540eb8fa9858adace3650bd
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Thu Jan 17 18:48:12 2013 +0100

    assrender: render overlay composition if supported downstream
    
    This allows rendering ASS subtitles on top of video when
    using hardware-accelerated video decoders based on e.g.
    VA-API or VDPAU.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678389
    https://bugzilla.gnome.org/show_bug.cgi?id=692012

commit 30222d608044bcd29537218309882f43f3c35963
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Mon Jan 21 10:35:49 2013 +0100

    assrender: add wait-text property
    
    This is the same property as in the pango element, to allow waiting for
    text on the text pad before rendering the video.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=692012

commit c78714ced3c46f4c0aa66dfdcc909baee2783fa4
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Fri Jan 18 15:25:48 2013 +0100

    assrender: fix some subtitles being ignored
    
    https://bugzilla.gnome.org/show_bug.cgi?id=692012

commit c16d41d7091f808d5c3b06b79160dbe187594ead
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Thu Jan 17 18:33:11 2013 +0100

    assrender: refactor code to avoid duplication
    
    https://bugzilla.gnome.org/show_bug.cgi?id=692012

commit 61976b7aa71ab55f0028a1d2fea888a072e945a0
Author: Arnaud Vrac <avrac@freebox.fr>
Date:   Thu Jan 17 18:26:08 2013 +0100

    assrender: proxy allocations on video pad
    
    Forward allocation queries on video sink pad instead
    of discarding them.
    
    This allows the upstream elements to use the allocation
    parameters or pools from the downstream elements like
    videosink.