The tsdemux has very complicated pad name `audio_%01x_%05x`
so it is not easy to use the normal audio_%u to select stream, I have to use findtype. Hardcoded pad name works: ``` GST_DEBUG=4 gst-launch-1.0 filesrc location=test-with-audio.m3u8 ! hlsdemux ! tsdemux name=ts ts.audio_0_0101 ! aacparse ! queue ! decodebin ! audioconvert ! autoaudiosink ``` capfilter with audio/mpeg works: ``` GST_DEBUG=capsfilter:5 gst-launch-1.0 filesrc location=test-with-audio.m3u8 ! hlsdemux ! tsdemux ! capsfilter caps=audio/mpeg ! aacparse ! queue ! decodebin ! audioconvert ! autoaudiosink ``` However the typefind seems cannot find the pad: ``` $ GST_DEBUG=typefind:5 gst-launch-1.0 filesrc location=test-with-audio.m3u8 ! hlsdemux ! tsdemux name=ts ts. ! typefind ! aacparse ! queue ! decodebin ! audioconvert ! autoaudiosink 0:00:00.011926970 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:406:gst_type_find_handle_src_query:<typefindelement0> Handling src query caps 0:00:00.011944555 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:416:gst_type_find_handle_src_query:<typefindelement0> Got caps query, our caps are (NULL) 0:00:00.011978300 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:406:gst_type_find_handle_src_query:<typefindelement0> Handling src query caps 0:00:00.011984027 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:416:gst_type_find_handle_src_query:<typefindelement0> Got caps query, our caps are (NULL) Setting pipeline to PAUSED ... 0:00:00.015959689 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:575:start_typefinding:<typefind> starting typefinding 0:00:00.016044575 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:406:gst_type_find_handle_src_query:<typefindelement0> Handling src query scheduling 0:00:00.016061855 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:575:start_typefinding:<typefindelement0> starting typefinding Pipeline is PREROLLING ... 0:00:00.018665561 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefindelement0> got stream-start event in mode 1 0:00:00.018685080 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefindelement0> got caps event in mode 1 0:00:00.018692980 117154 0x5590ef85db00 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefind> got stream-start event in mode 1 0:00:00.018698314 117154 0x7f155800f120 INFO typefind gsttypefindelement.c:180:gst_type_find_element_have_type:<typefindelement0> found caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, probability=100 0:00:00.018717598 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:787:gst_type_find_element_setcaps:<typefindelement0> Skipping typefinding, using caps from upstream: video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal 0:00:00.018723544 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:599:stop_typefinding:<typefindelement0> stopping typefinding and pushing cached events and buffers 0:00:00.018727675 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:649:stop_typefinding:<typefindelement0> we have no data to typefind 0:00:00.018733422 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefindelement0> got segment event in mode 0 0:00:00.018740740 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefindelement0> got tag event in mode 0 0:00:00.018772464 117154 0x7f155800f120 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefindelement0> got eos event in mode 0 ERROR: from element /GstPipeline:pipeline0/GstHLSDemux:hlsdemux0: Internal data stream error. 0:00:00.018787308 117154 0x5590ef85db00 DEBUG typefind gsttypefindelement.c:662:gst_type_find_element_sink_event:<typefind> got eos event in mode 1 Additional debug info: gstadaptivedemux.c(2663): _src_chain (): /GstPipeline:pipeline0/GstHLSDemux:hlsdemux0: streaming stopped, reason not-negotiated (-4) 0:00:00.018799836 117154 0x5590ef85db00 INFO typefind gsttypefindelement.c:695:gst_type_find_element_sink_event:<typefind> Got EOS and no type found yet ERROR: pipeline doesn't want to preroll. 0:00:00.018831788 117154 0x5590ef85db00 WARN typefind gsttypefindelement.c:986:gst_type_find_element_chain_do_typefinding:<typefind> error: Stream doesn't contain enough data. 0:00:00.018852073 117154 0x5590ef85db00 WARN typefind gsttypefindelement.c:986:gst_type_find_element_chain_do_typefinding:<typefind> error: Can't typefind stream Setting pipeline to NULL ... 0:00:00.019196880 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:599:stop_typefinding:<typefind> stopping typefinding 0:00:00.019204971 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:649:stop_typefinding:<typefind> we have no data to typefind 0:00:00.019280203 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:599:stop_typefinding:<typefindelement0> stopping typefinding and pushing cached events and buffers 0:00:00.019300014 117154 0x5590ef899640 DEBUG typefind gsttypefindelement.c:649:stop_typefinding:<typefindelement0> we have no data to typefind Freeing pipeline ... ``` How can I solve this problem? _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |