kate decoder not detected even though it is installed

Bug #534561 reported by Onkar Shinde
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gst-plugins-bad0.10 (Ubuntu)
Fix Released
Undecided
Unassigned
Karmic
Fix Released
Medium
Unassigned

Bug Description

Even though the kate decoder plugin is installer it is not detected by gstreamer and/or dependent applications. The file I was trying to play is at [1].

onkar@iBook:~$ gst-inspect-0.10 katedec|head -35

(gst-inspect-0.10:28957): GLib-WARNING **: g_set_prgname() called multiple times
Factory Details:
  Long name: Kate stream text decoder
  Class: Codec/Decoder/Subtitle
  Description: Decodes Kate text streams
  Author(s): Vincent Penquerc'h <email address hidden>
  Rank: none (0)

Plugin Details:
  Name: kate
  Description: Kate plugin
  Filename: /usr/lib/gstreamer-0.10/libgstkate.so
  Version: 0.10.14
  License: LGPL
  Source module: gst-plugins-bad
  Binary package: GStreamer Bad Plugins (Ubuntu)
  Origin URL: https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad0.10

GObject
 +----GstObject
       +----GstElement
             +----GstKateDec

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      subtitle/x-kate

  SRC template: 'src'
    Availability: Always
    Capabilities:
      text/plain
      text/x-pango-markup
      video/x-dvd-subpicture

Here is the output I get when trying to play the file with subtitles in kate format using playbin.
onkar@iBook:~/programs$ gst-launch-0.10 playbin2 uri=file:///home/onkar/Desktop/Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv

(gst-launch-0.10:23528): GLib-WARNING **: g_set_prgname() called multiple times
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'subtitle/x-kate'.
Additional debug info:
gsturidecodebin.c(627): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0
WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'subtitle/x-kate'.
Additional debug info:
gsturidecodebin.c(627): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock

Also find attached the screenshot of totem's plugin search when I try to play the file.

The problem seems to be because katedec does not have a rank assigned. Hence playbin does not automatically plug the decoder. This was changed in upstream git at [2]. If someone can confirm that this works in latest updated Lucid, I will work on SRU for karmic.

[1] http://stallman.org/fry/Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv
[2] http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=23e07bc1974bfa67878013fe7325eb60b0b757ab

ProblemType: Bug
Architecture: powerpc
Date: Mon Mar 8 23:56:02 2010
DistroRelease: Ubuntu 9.10
Package: gstreamer0.10-plugins-bad 0.10.14-4ubuntu1
ProcEnviron:
 LANG=en_IN
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-19.56-powerpc
SourcePackage: gst-plugins-bad0.10
Uname: Linux 2.6.31-19-powerpc ppc

SRU information:
Justification - Makes kate decoder element in gstreamer useless for normal use (out of box).
Fix - Bug has been fixed by upstream by assigning a primary rank to katedec element. The relevant release version is 0.10.17.
TEST CASE:
1. Install gstreamer0.10-plugins-bad package.
2. Download file http://stallman.org/fry/Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv
3. Try to play file with totem.
4. Expected result - Totem plays file immediately and shows subtitles in English.
5. Actual result - Totem tries to search gstreamer plugins for Kate subtitle format.
Regression potential - None. In karmic the kate decoder element is not autoplugged by playbin. With this change there is no loss of functionality but instead there is improvement.

Revision history for this message
Onkar Shinde (onkarshinde) wrote :
Revision history for this message
AG (gore-amit) wrote :

leopard@ps6432:~$ gst-inspect-0.10 katedec|head -35
Factory Details:
  Long name: Kate stream text decoder
  Class: Codec/Decoder/Subtitle
  Description: Decodes Kate text streams
  Author(s): Vincent Penquerc'h <email address hidden>
  Rank: primary (256)

Plugin Details:
  Name: kate
  Description: Kate plugin
  Filename: /usr/lib/gstreamer-0.10/libgstkate.so
  Version: 0.10.17
  License: LGPL
  Source module: gst-plugins-bad
  Binary package: GStreamer Bad Plugins (Ubuntu)
  Origin URL: https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad0.10

GObject
 +----GstObject
       +----GstElement
             +----GstKateDec

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      subtitle/x-kate

  SRC template: 'src'
    Availability: Always
    Capabilities:
      text/plain
      text/x-pango-markup
      video/x-dvd-subpicture

The video plays properly on totem.

leopard@ps6432:~$ gst-launch-0.10 playbin2 uri=file:///home/leopard/Desktop/Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
WARNING: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:tbin/GstSubtitleOverlay:suboverlay: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstsubtitleoverlay.c(736): _pad_blocked_cb (): /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:tbin/GstSubtitleOverlay:suboverlay:
Subtitle sink is blocked but we have no subtitle caps
WARNING: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:tbin/GstSubtitleOverlay:suboverlay: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstsubtitleoverlay.c(736): _pad_blocked_cb (): /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:tbin/GstSubtitleOverlay:suboverlay:
Subtitle sink is blocked but we have no subtitle caps
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock

Revision history for this message
Onkar Shinde (onkarshinde) wrote :

As per AG's comment this is fixed in Lucid.

Changed in gst-plugins-bad0.10 (Ubuntu):
status: New → Fix Released
Changed in gst-plugins-bad0.10 (Ubuntu Karmic):
importance: Undecided → Medium
description: updated
Revision history for this message
Onkar Shinde (onkarshinde) wrote :
Revision history for this message
Onkar Shinde (onkarshinde) wrote :

I have uploaded package to karmic-proposed queue. Debdiff regarding the same is attached.

Revision history for this message
John Dong (jdong) wrote :

ACK for the patch, but please update bug description with SRU information: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

Revision history for this message
Onkar Shinde (onkarshinde) wrote :

@John,

SRU information added. Please let me know if anything is missing.

description: updated
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted gst-plugins-bad0.10 into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in gst-plugins-bad0.10 (Ubuntu Karmic):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Onkar Shinde (onkarshinde) wrote :

The package from karmic-proposed works perfectly. Totem automatically shows the subtitles from the view mentioned in test procedure.

Revision history for this message
Onkar Shinde (onkarshinde) wrote :

In last comment - s/view/video.

tags: added: verification-done
removed: verification-needed
Revision history for this message
AG (gore-amit) wrote :

tested on lucid lynx
here is the output :

leopard@ps6432:~$ gst-inspect-0.10 katedec
Factory Details:
  Long name: Kate stream text decoder
  Class: Codec/Decoder/Subtitle
  Description: Decodes Kate text streams
  Author(s): Vincent Penquerc'h <email address hidden>
  Rank: primary (256)

Plugin Details:
  Name: kate
  Description: Kate plugin
  Filename: /usr/lib/gstreamer-0.10/libgstkate.so
  Version: 0.10.18
  License: LGPL
  Source module: gst-plugins-bad
  Binary package: GStreamer Bad Plugins (Ubuntu)
  Origin URL: https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad0.10

GObject
 +----GstObject
       +----GstElement
             +----GstKateDec

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      text/plain
      text/x-pango-markup
      video/x-dvd-subpicture

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      subtitle/x-kate

Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_kate_dec_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.

Pads:
  SRC: 'src'
    Implementation:
      Has custom eventfunc(): gst_pad_event_default
      Has custom queryfunc(): gst_pad_query_default
        Provides query types:
      Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): gst_kate_dec_chain
      Has custom eventfunc(): gst_pad_event_default
      Has custom queryfunc(): gst_kate_dec_sink_query
        Provides query types:
      Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
    Pad Template: 'sink'
    Capabilities:
      subtitle/x-kate

Element Properties:
  name : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "katedec0"
  language : The language of the stream
                        flags: readable
                        String. Default: "" Current: null
  category : The category of the stream
                        flags: readable
                        String. Default: "" Current: null
  original-canvas-width: The canvas width this stream was authored for
                        flags: readable
                        Integer. Range: 0 - 2147483647 Default: 0 Current: 0
  original-canvas-height: The canvas height this stream was authored for (0 is unspecified)
                        flags: readable
                        Integer. Range: 0 - 2147483647 Default: 0 Current: 0
  remove-markup : Remove markup from decoded text ?
                        flags: readable, writable
                        Boolean. Default: false Current: false
leopard@ps6432:~$

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gst-plugins-bad0.10 - 0.10.14-4ubuntu1.1

---------------
gst-plugins-bad0.10 (0.10.14-4ubuntu1.1) karmic-proposed; urgency=low

  * debian/patches/03_katedec_rank.patch
    - Change rank of katedec to PRIMARY to be autoplugged. (LP: #534561)
 -- Onkar Shinde <email address hidden> Mon, 08 Mar 2010 18:12:50 +0530

Changed in gst-plugins-bad0.10 (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.