channel-mask?

Rand Graham rand.graham at zenith.com
Tue Jul 21 18:48:19 UTC 2020


Hello,

I am trying to demux a transport stream that contains AC3 audio.

I am seeing the following when I use GST_DEBUG=4

0:00:00.118895699 ^[[332m18163^[[00m      0x22018f0 ^[[36mINFO   ^[[00m ^[[00m           structure gststructure.c:2597:gst_structure_get_valist:^[[00m Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;

Can someone tell me more about channel-mask? Is it related to the transport stream meta data? Is it related to AC3 audio codec?

Here is some more of the log:

00.022910768 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<shout2send0> current READY pending PAUSED, desired next PLAYING
0:00:00.022918902 18163      0x20cae00 INFO              GST_STATES gstbin.c:2958:gst_bin_change_state_func:<pipeline0> child 'shout2send0' is changing state asynchronously to PLAYING
0:00:00.022927279 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<lamemp3enc0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.022935333 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<lamemp3enc0> completed state change to PLAYING
0:00:00.022947862 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<lamemp3enc0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.022959550 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'lamemp3enc0' changed state to 4(PLAYING) successfully
0:00:00.022968771 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<audioconvert0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.022976044 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<audioconvert0> completed state change to PLAYING
0:00:00.022983006 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<audioconvert0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.022992558 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'audioconvert0' changed state to 4(PLAYING) successfully
0:00:00.023000735 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<a52dec0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.023007972 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<a52dec0> completed state change to PLAYING
0:00:00.023014882 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<a52dec0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.023023956 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'a52dec0' changed state to 4(PLAYING) successfully
0:00:00.023031682 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<ac3parse0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.023038871 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<ac3parse0> completed state change to PLAYING
0:00:00.023045728 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<ac3parse0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.023054824 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'ac3parse0' changed state to 4(PLAYING) successfully
0:00:00.023063392 18163      0x20cae00 INFO              GST_STATES gstbin.c:2504:gst_bin_element_set_state:<tsdemux0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.023070529 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<tsdemux0> completed state change to PLAYING
0:00:00.023077272 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<tsdemux0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.023086295 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'tsdemux0' changed state to 4(PLAYING) successfully
0:00:00.023098588 18163      0x20cae00 INFO              GST_STATES gstelement.c:2676:gst_element_continue_state:<udpsrc0> completed state change to PLAYING
0:00:00.023109086 18163      0x20cae00 INFO              GST_STATES gstelement.c:2579:_priv_gst_element_state_changed:<udpsrc0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.023119115 18163      0x20cae00 INFO              GST_STATES gstbin.c:2952:gst_bin_change_state_func:<pipeline0> child 'udpsrc0' changed state to 4(PLAYING) successfully
New clock: GstSystemClock
0:00:00.030365988 18163      0x22018f0 INFO               GST_EVENT gstevent.c:895:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.030394091 18163      0x22018f0 INFO                 basesrc gstbasesrc.c:2945:gst_base_src_loop:<udpsrc0> marking pending DISCONT
0:00:00.030436895 18163      0x22018f0 INFO        mpegtspacketizer mpegtspacketizer.c:769:mpegts_try_discover_packet_size: have packetsize detected: 188 bytes
0:00:00.118283879 18163      0x22018f0 INFO              mpegtsbase mpegtsbase.c:950:mpegts_base_apply_pat:<tsdemux0> PAT
0:00:00.118449893 18163      0x22018f0 INFO               GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
0:00:00.118472644 18163      0x22018f0 WARN                 tsdemux tsdemux.c:1591:create_pad_for_stream: AC3 stream type found but no guaranteed way found to differentiate between AC3 and EAC3. Assuming plain AC3.
0:00:00.118520406 18163      0x22018f0 INFO               GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event audio/x-ac3
0:00:00.118550507 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<tsdemux0> adding pad 'video_0_0032'
0:00:00.118564437 18163      0x22018f0 INFO            GST_PIPELINE grammar.y:524:gst_parse_found_pad: trying delayed linking one pad some pad of GstTSDemux named tsdemux0 to some pad of GstAc3Parse named ac3parse0
0:00:00.118571844 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstutils.c:1774:gst_element_link_pads_full: trying to link element tsdemux0:(any) to element ac3parse0:(any)
0:00:00.118582069 18163      0x22018f0 INFO                GST_PADS gstutils.c:1035:gst_pad_check_link: trying to link tsdemux0:video_0_0032 and ac3parse0:sink
0:00:00.118595820 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.118617307 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.118678587 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstutils.c:1227:gst_element_get_compatible_pad:<ac3parse0> Could not find a compatible pad to link to tsdemux0:video_0_0032
0:00:00.118687073 18163      0x22018f0 INFO                GST_PADS gstutils.c:1035:gst_pad_check_link: trying to link tsdemux0:video_0_0032 and ac3parse0:sink
0:00:00.118693867 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.118714041 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.118754171 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.118768831 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.118825813 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstelement.c:917:gst_element_get_static_pad: no such pad 'audio_%01x_%05x' in element "tsdemux0"
0:00:00.118835292 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstutils.c:1227:gst_element_get_compatible_pad:<tsdemux0> Could not find a compatible pad to link to ac3parse0:sink
0:00:00.118841686 18163      0x22018f0 INFO                 default gstutils.c:2162:gst_element_link_pads_filtered: Could not link pads: tsdemux0:(null) - ac3parse0:(null)
0:00:00.118847797 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<tsdemux0> adding pad 'audio_0_0033'
0:00:00.118859221 18163      0x22018f0 INFO            GST_PIPELINE grammar.y:524:gst_parse_found_pad: trying delayed linking one pad some pad of GstTSDemux named tsdemux0 to some pad of GstAc3Parse named ac3parse0
0:00:00.118865792 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstutils.c:1774:gst_element_link_pads_full: trying to link element tsdemux0:(any) to element ac3parse0:(any)
0:00:00.118872210 18163      0x22018f0 INFO                GST_PADS gstutils.c:1035:gst_pad_check_link: trying to link tsdemux0:video_0_0032 and ac3parse0:sink
0:00:00.118880616 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.118895699 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.118938939 18163      0x22018f0 INFO        GST_ELEMENT_PADS gstutils.c:1227:gst_element_get_compatible_pad:<ac3parse0> Could not find a compatible pad to link to tsdemux0:video_0_0032
0:00:00.118945927 18163      0x22018f0 INFO                GST_PADS gstutils.c:1035:gst_pad_check_link: trying to link tsdemux0:audio_0_0033 and ac3parse0:sink
0:00:00.118953116 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.118967189 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.119005130 18163      0x22018f0 INFO                GST_PADS gstutils.c:1588:prepare_link_maybe_ghosting: tsdemux0 and ac3parse0 in same bin, no need for ghost pads
0:00:00.119014699 18163      0x22018f0 INFO                GST_PADS gstpad.c:2378:gst_pad_link_prepare: trying to link tsdemux0:audio_0_0033 and ac3parse0:sink
0:00:00.119022170 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.119040121 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved;
0:00:00.119075106 18163      0x22018f0 INFO                GST_PADS gstpad.c:2586:gst_pad_link_full: linked tsdemux0:audio_0_0033 and ac3parse0:sink, successful
0:00:00.119079847 18163      0x22018f0 INFO               GST_EVENT gstevent.c:1517:gst_event_new_reconfigure: creating reconfigure event
0:00:00.155378070 18163      0x22018f0 INFO               GST_EVENT gstevent.c:895:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.155424659 18163      0x22018f0 INFO               baseparse gstbaseparse.c:4777:gst_base_parse_set_upstream_tags:<ac3parse0> upstream tags: taglist, audio-codec=(string)"AC-3\ \(ATSC\ A/52\)";
0:00:00.194147877 18163      0x22018f0 INFO               GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame
0:00:00.194184866 18163      0x22018f0 INFO            audiodecoder gstaudiodecoder.c:2294:gst_audio_decoder_sink_eventfunc:<a52dec0> upstream stream tags: taglist, audio-codec=(string)"AC-3\ \(ATSC\ A/52\)";
0:00:00.194206241 18163      0x22018f0 INFO            audiodecoder gstaudiodecoder.c:2294:gst_audio_decoder_sink_eventfunc:<a52dec0> upstream stream tags: taglist, audio-codec=(string)"AC-3\ \(ATSC\ A/52\)";
0:00:00.194234067 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 4000, 96000 ], channels=(int)[ 1, 6 ];
0:00:00.194246040 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.194292796 18163      0x22018f0 INFO               structure gststructure.c:2597:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 4000, 96000 ], channels=(int)[ 1, 2147483647 ];
0:00:00.194314733 18163      0x22018f0 INFO                  a52dec gsta52dec.c:438:gst_a52dec_reneg:<a52dec0> reneg channels:6 rate:48000
0:00:00.194485038 18163      0x22018f0 INFO               GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
0:00:00.194525057 18163      0x22018f0 INFO           basetransform gstbasetransform.c:1308:gst_base_transform_setcaps:<audioconvert0> reuse caps
0:00:00.194553639 18163      0x22018f0 INFO         audio-converter audio-converter.c:1215:gst_audio_converter_new: unitsizes: 24 -> 24
0:00:00.194558799 18163      0x22018f0 INFO         audio-converter audio-converter.c:617:chain_unpack: unpack format F32LE to F32LE
0:00:00.194582011 18163      0x22018f0 INFO         audio-converter audio-converter.c:754:chain_mix: mix format F32LE, passthrough 1, in_channels 6, out_channels 6
0:00:00.194590548 18163      0x22018f0 INFO         audio-converter audio-converter.c:841:chain_quantize: depth in 32, out 32
0:00:00.194593807 18163      0x22018f0 INFO         audio-converter audio-converter.c:853:chain_quantize: using no dither and noise shaping
0:00:00.194597541 18163      0x22018f0 INFO         audio-converter audio-converter.c:888:chain_pack: pack format F32LE to F32LE
0:00:00.194600713 18163      0x22018f0 INFO         audio-converter audio-converter.c:1240:gst_audio_converter_new: same formats, no resampler and passthrough mixing -> passthrough
0:00:00.194608616 18163      0x22018f0 INFO               GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
0:00:00.194625061 18163      0x22018f0 INFO                GST_PADS gstpad.c:4230:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.194649909 18163      0x22018f0 INFO                 basesrc gstbasesrc.c:2965:gst_base_src_loop:<udpsrc0> pausing after gst_pad_push() = not-linked


More information about the gstreamer-devel mailing list