Home grown elements can't auto plug

Matt_iotapi322 iotapi322 at icloud.com
Mon Jan 27 19:35:37 PST 2014


I’m having some problems with autoplugging and matching capabilities with two
home grown element plugins and would like to have some input from the mail
list if possible.

Short story:
I have an HLS demux plugin that is outputting encrypted HLS streams.  I have
set the caps of the GST_Buffer to be:
"data/x-drm, "
         "type = 1" 

I have created a software decrypter filter that has static caps of :
GST_STATIC_CAPS ("data/x-drm, " "type = (int) [0, 5]")

I am attempting to use playbin to auto plug the whole pipeline together. 
However it doesn’t seem like decodebin2 “sees “ my decrypter filter.  

If I use gst-inspect  I see the decrypter filter, and when I run gst-inspect
decryptor_filter_name it shows correctly the dump of information.  

I have also set the rank of the element to primary.  What leads me to
believe that decodebin doesn’t see my element is with debug turned on the
list of gst_element_factory_list_filter does not show my “filter”

Other information, the platform I’m working on is required to be gstreamer
0.10.36 


0:00:09.499083619 12293 0x7f861c08fe90 LOG               decodebin2
gstdecodebin2.c:2512:are_final_caps:<decodebin20> Checking with caps
data/x-drm, type=(int)1
0:00:09.499096853 12293 0x7f861c08fe90 LOG               decodebin2
gstdecodebin2.c:2519:are_final_caps:<decodebin20> Caps are not final caps
0:00:09.499111669 12293 0x7f861c08fe90 DEBUG               playbin2
gstplaybin2.c:3049:autoplug_factories_cb:<playbin20> factories group
0x196d790 for '':decodepad1, data/x-drm, type=(int)1
0:00:09.499124597 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:893:gst_element_factory_list_filter: finding factories
0:00:09.499135707 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying pulsesink
0:00:09.499157221 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying
mpegaudioparse
0:00:09.499167797 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying
mpegvideoparse
0:00:09.499178131 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying
mpeg4videoparse
0:00:09.499188502 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying mp3parse
0:00:09.499198975 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying h264parse
0:00:09.499208950 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying h263parse
0:00:09.499219119 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying flacparse
0:00:09.499229129 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying dcaparse
0:00:09.499239158 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying amrparse
0:00:09.499249295 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying ac3parse
0:00:09.499259403 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying aacparse
0:00:09.503452700 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying xvimagesink
0:00:09.503477417 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying wavparse
0:00:09.503488651 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying vp8dec
0:00:09.503499012 12293 0x7f861c08fe90 DEBUG    GST_ELEMENT_FACTORY
gstelementfactory.c:904:gst_element_factory_list_filter: Trying vorbisdec


…etc
..etc

finally:

0:00:09.661571552 12293 0x7f861c08fe90 DEBUG                GST_BUS
gstbus.c:308:gst_bus_post:<bus3> [msg 0x7f8614004c90] posting on bus, type
element, missing-plugin, type=(string)decoder, detail=(GstCaps)data/x-drm,
type=(int)1, name=(string)"data/x-drm\ decoder"; from source <decodebin20>

Does my element have to inherit from another  class to be able to auto plug?



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Home-grown-elements-can-t-auto-plug-tp4664921.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list