LPM audio is being ignored in mpeg ts file(mpegtsdemux)

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
Hi ,

I am trying to play a mpeg ts file with h264 video and lcpm audio in it. But "mpegtsdemux" is ignoring the audio and source pad is created only for video. I added logs in "mpegtsdemux" and printed stream_id and stream_type for the same. It is stream_id=0xbd and stream_type=0x83.  

I saw in the mpegtsdemux source code that stream_type=0x83 is mapped to ST_BD_AUDIO_AC3_TRUE_HD and is not handled. But vlc is recognizing it as DVD lpcm audio.

Can anyone tell me whats the issue.

I used "dvbsnoop" ubuntu utility to analyze the stream. Below is what it says about audio section.(for one of the ts packets)

Sync-Byte 0x47: 71 (0x47)
Transport_error_indicator: 0 (0x00)  [= packet ok]
Payload_unit_start_indicator: 1 (0x01)  [= Packet data starts]
transport_priority: 0 (0x00)
PID: 68 (0x0044)  [= ]
transport_scrambling_control: 0 (0x00)  [= No scrambling of TS packet payload]
adaptation_field_control: 1 (0x01)  [= no adaptation_field, payload only]
continuity_counter: 0 (0x00)  [= (sequence ok)]
Payload: (len: 184)
     ==> PES-stream: 189 (0xbd)  [= private_stream_1]

-Regards
Shiva Kumar


Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
its "LPCM audio is being ignored in mpeg ts file(mpegtsdemux) "
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
In reply to this post by shiva.mudugal
But "mpegtsdemux" src pad claims the it can candle "audio/x-private-ts-lpcm" and "audio/x-lpcm".


 SRC template: 'audio_%04x'
    Availability: Sometimes
    Capabilities:
      audio/mpeg
            mpegversion: 1
      audio/mpeg
            mpegversion: 4
          stream-format: { adts, loas }
      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


I am using 0.10.22.3 version of gstreamer bad plugings.
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

Baby Octopus
In reply to this post by shiva.mudugal
Hello,

You should be using "tsdemux" and not mpegtsdemux.

I wonder if lpcm uncompressed audio is still used in transport streams when trasport streams typically contain compressed data

Nevertheless, tsdemux's audio caps suggest it should demux lpcm audio.
Can you share your pipeline here. You might want try gst-launch -v filesrc location=fille.ts ! tsdemux ! audio/x-lpcm ! fakesink and share the verbose mode dump

~BO
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
Thank you for your replay.

here is the result for pipeline you suggested.

$ gst-launch-0.10 -v filesrc location=test_vlc.ts ! tsdemux ! audio/x-lpcm ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1: caps = audio/x-lpcm
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error.
Additional debug info:
mpegtsbase.c(1409): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:video_0045: caps = NULL
Freeing pipeline ...

This says that the audio is not audio/x-lpcm type.

I tried below as well

$ gst-launch-0.10 -v filesrc location=test_vlc.ts ! tsdemux ! audio/x-private-ts-lpcm ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1: caps = audio/x-private-ts-lpcm
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error.
Additional debug info:
mpegtsbase.c(1409): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:video_0045: caps = NULL
Freeing pipeline ...

this says audio is not audio/x-private-ts-lpcm also ....

in the gstreamer bad plugin source code for tsdemux and mpegtsdemux stream_type = 0x83 is been mapped to ST_BD_AUDIO_AC3_TRUE_HD and is not handled. But vlc plays it as a DVD lpcm file.
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

Edward Hervey
Can you try with 1.0 ?

On Wed, 2013-07-03 at 22:57 -0700, shiva.mudugal wrote:

> Thank you for your replay.
>
> here is the result for pipeline you suggested.
>
> $ gst-launch-0.10 -v filesrc location=test_vlc.ts ! tsdemux ! audio/x-lpcm !
> fakesink
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter1: caps = audio/x-lpcm
> ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal
> data stream error.
> Additional debug info:
> mpegtsbase.c(1409): mpegts_base_loop ():
> /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
> stream stopped, reason not-linked
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> /GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:video_0045: caps = NULL
> Freeing pipeline ...
>
> This says that the audio is not audio/x-lpcm type.
>
> I tried below as well
>
> $ gst-launch-0.10 -v filesrc location=test_vlc.ts ! tsdemux !
> audio/x-private-ts-lpcm ! fakesink
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter1: caps =
> audio/x-private-ts-lpcm
> ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal
> data stream error.
> Additional debug info:
> mpegtsbase.c(1409): mpegts_base_loop ():
> /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
> stream stopped, reason not-linked
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> /GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:video_0045: caps = NULL
> Freeing pipeline ...
>
> this says audio is not audio/x-private-ts-lpcm also ....
>
> in the gstreamer bad plugin source code for tsdemux and mpegtsdemux
> stream_type = 0x83 is been mapped to ST_BD_AUDIO_AC3_TRUE_HD and is not
> handled. But vlc plays it as a DVD lpcm file.
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/LPM-audio-is-being-ignored-in-mpeg-ts-file-mpegtsdemux-tp4660874p4660895.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
Hi Edward,

Behavior is same in 1.0 also. I saw the source code for tsdemux in in 1.0.2 bad plugins. Here also same issue, stream_type=0x83 which is mapped to ST_BD_AUDIO_AC3_TRUE_HD is not handled in tsdemux.


-Regards,
Shiva
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

Baby Octopus
If you have looked into the code, then it could be a bug. May be the only way to resolve this is by fixing the bug. Please report the issue at bugzilla

~BO
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

Edward Hervey
In reply to this post by shiva.mudugal
Hi,

  This is different now in git master (which is what I meant by "1.0").

  We handle separately Bluray stream_types, so the result is that it's
no longer misdetected ... but that stream wouldn't be exposed at all
right now.

  It looks like it's a DCII (DigiCypher II) stream for which 0x83 is
indeed LPCM. Please file a bug against gst-plugins-bad and we'll handle
that.

    Edward

On Sun, 2013-07-07 at 23:13 -0700, shiva.mudugal wrote:

> Hi Edward,
>
> Behavior is same in 1.0 also. I saw the source code for tsdemux in in 1.0.2
> bad plugins. Here also same issue, stream_type=0x83 which is mapped to
> ST_BD_AUDIO_AC3_TRUE_HD is not handled in tsdemux.
>
>
> -Regards,
> Shiva
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/LPM-audio-is-being-ignored-in-mpeg-ts-file-mpegtsdemux-tp4660874p4660925.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
Hi,

Bug 703913 - LPCM audio is being ignored in mpeg ts file(tsdemux or mpegtsdemux)

has been added to bugzilla. The file I used is of huge size, is there any ftp where I can upload the stream.

Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

shiva.mudugal
If possible please provide fix to earlier versions as well(0.10.22.3).
Reply | Threaded
Open this post in threaded view
|

Re: LPM audio is being ignored in mpeg ts file(mpegtsdemux)

Baby Octopus
Hi,

So were you able to get a workaround for this through some patch? If you know of exact part of code which is giving causing the problem, I can look into it!

Is the bug filed?

~BO