pmt-info callback not getting invoked

Ian Davidson id012c3076 at blueyonder.co.uk
Fri Aug 30 06:40:01 PDT 2013


It makes perfect sense to SET a property when using gst-launch to set 
off a pre-determined set of actions.  But I don't see the value of 
trying to pass anything to gst-launch from within a plug-in - you need 
the flexibility of a program (for example, a C program) which does have 
the ability to interrogate properties and 'do things' dependant on the 
values of those properties.

Of course, you are free to prove me wrong.

Ian

On 30/08/2013 14:20, Yogesh Tyagi wrote:
> Hi,
>
> That was an example to show how do we invoke set_property through 
> gst-launch.I am concerned for get_property.
>
> Thanks,
> Yogesh
>
>
> On Fri, Aug 30, 2013 at 6:44 PM, Ian Davidson 
> <id012c3076 at blueyonder.co.uk <mailto:id012c3076 at blueyonder.co.uk>> wrote:
>
>     On a quick inspection - it would seem that the plug-in has a
>     property 'program', but you are trying to set 'program-number'.
>
>     Ian
>
>
>     On 30/08/2013 13:45, Yogesh Tyagi wrote:
>>     Hi,
>>
>>     Yes, it is a custom plugin. Here is the output of "gst-inspect
>>     mdtsdemux"
>>
>>     Factory Details:
>>       Long name:Transport Stream Demultiplexer
>>       Class:Demuxer
>>       Description:
>>       Author(s):
>>       Rank:none (0)
>>
>>     Plugin Details:
>>       Name:mdplugin
>>       Description:GStreamer elements
>>       Filename:/usr/lib/libgstmdplugin.so
>>       Version:0.10.22.1
>>       License:BSD
>>       Source module:gst-md
>>       Binary package:GStreamer MD Elements
>>       Origin URL:
>>
>>     GObject
>>      +----GstObject
>>            +----GstElement
>>                  +----MdGstElement
>>                        +----MdGstDemux
>>
>>     Pad Templates:
>>       SRC template: 'src_index'
>>         Availability: Sometimes
>>         Capabilities:
>>           application/x-md-index
>>
>>       SRC template: 'src_spts'
>>         Availability: Sometimes
>>         Capabilities:
>>           video/mpegts
>>                 mpegversion: 2
>>                systemstream: true
>>                  packetsize: [ 188, 192 ]
>>
>>       SRC template: 'src_aud'
>>         Availability: Sometimes
>>         Capabilities:
>>           audio/mpeg
>>                 mpegversion: { 1, 2, 4 }
>>           audio/x-lpcm
>>                       width: { 16, 20, 24 }
>>                        rate: { 48000, 96000 }
>>                    channels: [ 1, 8 ]
>>               dynamic_range: [ 0, 255 ]
>>                    emphasis: { false, true }
>>                        mute: { false, true }
>>           audio/x-ac3
>>           audio/x-eac3
>>           audio/x-dts
>>           audio/x-private-ts-lpcm
>>
>>       SRC template: 'src_vid'
>>         Availability: Sometimes
>>         Capabilities:
>>           video/mpeg
>>                 mpegversion: { 1, 2, 4 }
>>                systemstream: false
>>           video/x-h264
>>           video/x-wmv
>>                  wmvversion: 3
>>                      format: WVC1
>>
>>       SINK template: 'sink'
>>         Availability: Always
>>         Capabilities:
>>           video/mpeg
>>                 mpegversion: 2
>>                systemstream: true
>>           video/mpegts
>>                 mpegversion: 2
>>                systemstream: true
>>                  packetsize: [ 188, 192 ]
>>
>>
>>     Element Flags:
>>       no flags set
>>
>>     Element Implementation:
>>       Has change_state() function: md_demux_change_state
>>
>>     Element has no clocking capabilities.
>>     Element has no indexing capabilities.
>>     Element has no URI handling capabilities.
>>
>>     Pads:
>>       SINK: 'sink'
>>         Implementation:
>>           Has chainfunc(): md_gst_element_sink_chain
>>           Has custom eventfunc(): md_gst_element_sink_event
>>           Has custom queryfunc(): gst_pad_query_default
>>           Has custom iterintlinkfunc():
>>     gst_pad_iterate_internal_links_default
>>           Has setcapsfunc(): md_gst_demux_sinkpad_setcaps
>>           Has acceptcapsfunc(): gst_pad_acceptcaps_default
>>         Pad Template: 'sink'
>>
>>     Element Properties:
>>       name                : The name of the object
>>                             flags: readable, writable
>>                             String. Default: null Current: "mdgstdemux0"
>>       use-buffering       : Permits join multiple buffers to feed
>>     32kb buffers to device
>>                             flags: readable, writable
>>                             Boolean. Default: true Current: true
>>       stream-time-offset  : Specifies an offset in ns to apply on
>>     clock synchronization.
>>                             flags: readable, writable
>>                             Unsigned Integer64. Range: 0 -
>>     18446744073709551615 Default: 0 Current: 0
>>       pids                : The comma-separated list of PIDs to be
>>     demuxed.  Value may be base-10, or in 0xABC hex format.
>>                             flags: writable
>>                             String. Default: "-1"  Write only
>>       program             : The program number to demux.  If set
>>     along with 'pids', or auto=true, this will give the demux a hint
>>     as to which PMT to process.  Without pids, or auto=true, this
>>     will trigger conversion from MPTS to SPTS.  Value may be base-10,
>>     or in 0xABC hex format.
>>                             flags: writable
>>                             String. Default: "-1"  Write only
>>       auto                : If true, demux will automatically play
>>     the default Video and Audio streams
>>                             flags: writable
>>                             Boolean. Default: true  Write only
>>       pmt-info            : GObject with properties containing
>>     information from the TS PMT about the currently selected program
>>     and its streams
>>                      flags:   Object of type "MDTsPmtInfo"
>>
>>     Element Signals:
>>       "pad-added" :  void user_function (GstElement* object,
>>                                          GstPad* arg0,
>>                                          gpointer user_data);
>>       "pad-removed" :  void user_function (GstElement* object,
>>      GstPad* arg0,
>>      gpointer user_data);
>>       "no-more-pads" :  void user_function (GstElement* object,
>>     gpointer user_data);
>>
>>     (gst-inspect-0.10:3870): GLib-GObject-WARNING **: invalid
>>     unclassed pointer in cast to `GstPad'
>>
>>     (gst-inspect-0.10:3870): GStreamer-CRITICAL **:
>>     gst_element_remove_pad: assertion `GST_IS_PAD (pad)' failed
>>
>>     Thanks,
>>     Yogesh
>>
>>
>>     On Fri, Aug 30, 2013 at 6:00 PM, Robert Krakora
>>     <rob.krakora at messagenetsystems.com
>>     <mailto:rob.krakora at messagenetsystems.com>> wrote:
>>
>>         What is the output of "gst-inspect mdtsdemux". mdtsdemux is
>>         not in plugins good, bad or ugly.  Is it a custom plugin or
>>         did you mean mpegtsdemux?
>>
>>
>>         On Fri, Aug 30, 2013 at 8:26 AM, Yogesh Tyagi
>>         <yogesh.bit2006 at gmail.com <mailto:yogesh.bit2006 at gmail.com>>
>>         wrote:
>>
>>             Hi,
>>
>>             I am using following command line:
>>             gst-launch filesrc location=mpeg2_333_mhz.ts ! mdtsdemux
>>             program-number=2 name=d ! q
>>             ueue ! mpeg2_viddec ! queue max-size-buffers=3 ! vidpproc
>>             ! vidre
>>             nd_sink d. ! queue ! audio_sink
>>
>>             I am working on mdtsdemux demux plugin in which I have
>>             added get_propery method to get pmt-info but I don't know
>>             how do I test my implementation.
>>
>>             Thanks,
>>             Yogesh
>>
>>
>>             On Fri, Aug 30, 2013 at 5:44 PM, Robert Krakora
>>             <rob.krakora at messagenetsystems.com
>>             <mailto:rob.krakora at messagenetsystems.com>> wrote:
>>
>>                 Hi Yogesh,
>>
>>                 It would help if you included the gst-launch command
>>                 line or a snippet of your source.  At a minimum, at
>>                 least tell us what plugins comprise your pipeline.
>>
>>                 Best Regards,
>>
>>                 Rob Krakora
>>
>>
>>                 On Fri, Aug 30, 2013 at 8:09 AM, Yogesh Tyagi
>>                 <yogesh.bit2006 at gmail.com
>>                 <mailto:yogesh.bit2006 at gmail.com>> wrote:
>>
>>                     Can somebody help me find answer to this query?
>>                     How can get_property method be explicitly invoked
>>                     in gstreamer using some tools like gst-launch?
>>
>>                     Thanks,
>>                     Yogesh
>>
>>
>>                     On Tue, Aug 27, 2013 at 5:35 PM, Yogesh Tyagi
>>                     <yogesh.bit2006 at gmail.com
>>                     <mailto:yogesh.bit2006 at gmail.com>> wrote:
>>
>>                         Hi,
>>
>>                         I got to work on a gstreamer based test app
>>                         which plays media from http source.In this
>>                         application following callback has been
>>                         registered to receive pmt information.
>>
>>                         g_signal_connect(G_OBJECT(demuxer),
>>                         "notify::pmt-info", (GCallback)
>>                         demuxer_notify_pmt_info, NULL);
>>
>>                         When I run this application I never see
>>                         "demuxer_notify_pmt_info" method getting called.
>>                         Can somebody please let me know when this
>>                         callback function will be activated so that I
>>                         can see the pmt info of the stream.
>>
>>                         Is there any way to invoke get_property
>>                         methods of plugins like e.g set_property
>>                         methods can be  invoked with gst-launch when
>>                         we pass "property-name=value" to gst-launch.
>>
>>                         Thanks,
>>                         Yogesh
>>
>>
>>
>>                     _______________________________________________
>>                     gstreamer-devel mailing list
>>                     gstreamer-devel at lists.freedesktop.org
>>                     <mailto:gstreamer-devel at lists.freedesktop.org>
>>                     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>>
>>                 -- 
>>
>>                 Rob Krakora,
>>                 Senior Software Engineer
>>
>>                 MessageNet Systems
>>                 101 E Carmel Dr, Suite 105
>>                 Carmel, IN 46032
>>
>>                 MessageNetSystems.com
>>                 <http://www.messagenetcommunicationsystems.com/?utm_source=email+signature&utm_medium=email&utm_campaign=email+signature+to+homepage>
>>                 Rob.Krakora at MessageNetSystems.com
>>                 <mailto:rob.krakora at messagenetsystems.com>
>>                 P: 317.566.1677, 212
>>                 F: 317.663.0808
>>
>>                 For the latest news, information, and blogs, please
>>                 be sure to visit, follow, and like us...
>>
>>                 <http://www.messagenetcommunicationsystems.com/get-the-message-out-blog/?utm_source=email+signature&utm_medium=email&utm_campaign=gmail+signature+to+blog>
>>                 <http://www.youtube.com/user/MessageNetConnection/feed>
>>                 <http://www.linkedin.com/company/messagenet-systems>
>>                 <http://twitter.com/MessageNet>
>>                 <http://www.facebook.com/MessageNetsystems>
>>
>>
>>                 _______________________________________________
>>                 gstreamer-devel mailing list
>>                 gstreamer-devel at lists.freedesktop.org
>>                 <mailto:gstreamer-devel at lists.freedesktop.org>
>>                 http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>>             _______________________________________________
>>             gstreamer-devel mailing list
>>             gstreamer-devel at lists.freedesktop.org
>>             <mailto:gstreamer-devel at lists.freedesktop.org>
>>             http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>>
>>         -- 
>>
>>         Rob Krakora,
>>         Senior Software Engineer
>>
>>         MessageNet Systems
>>         101 E Carmel Dr, Suite 105
>>         Carmel, IN 46032
>>
>>         MessageNetSystems.com
>>         <http://www.messagenetcommunicationsystems.com/?utm_source=email+signature&utm_medium=email&utm_campaign=email+signature+to+homepage>
>>         Rob.Krakora at MessageNetSystems.com
>>         <mailto:rob.krakora at messagenetsystems.com>
>>         P: 317.566.1677, 212
>>         F: 317.663.0808
>>
>>         For the latest news, information, and blogs, please be sure
>>         to visit, follow, and like us...
>>
>>         <http://www.messagenetcommunicationsystems.com/get-the-message-out-blog/?utm_source=email+signature&utm_medium=email&utm_campaign=gmail+signature+to+blog>
>>         <http://www.youtube.com/user/MessageNetConnection/feed>
>>         <http://www.linkedin.com/company/messagenet-systems>
>>         <http://twitter.com/MessageNet>
>>         <http://www.facebook.com/MessageNetsystems>
>>
>>
>>         _______________________________________________
>>         gstreamer-devel mailing list
>>         gstreamer-devel at lists.freedesktop.org
>>         <mailto:gstreamer-devel at lists.freedesktop.org>
>>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>>
>>     _______________________________________________
>>     gstreamer-devel mailing list
>>     gstreamer-devel at lists.freedesktop.org  <mailto:gstreamer-devel at lists.freedesktop.org>
>>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>     -- 
>
>

-- 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130830/eb73d918/attachment-0001.html>


More information about the gstreamer-devel mailing list