MPEG-TS Section example

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

MPEG-TS Section example

Russel Winder
Hi,

Has anyone got the bytes of a valid MPEG-TS Section message as might
appear on the GStreamer bus?

I am trying to write tests for parsing a valid Section and am hoping I
can avoid doing the work of creating a valid Section message. :-)

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

kuttypaiyan
Have you tried using ts-parser example code? It is in
gst-plugins-bad\tests\examples\mpegts. Hope this will give you needed
information.



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

Re: MPEG-TS Section example

Russel Winder
On Wed, 2019-05-15 at 00:47 -0500, kuttypaiyan wrote:
> Have you tried using ts-parser example code? It is in
> gst-plugins-bad\tests\examples\mpegts. Hope this will give you needed
> information.

The code there is for debugging MPEG-TS Sections, which is very useful, but
what I really need is the (seemingly non-existent) functional test data or
test data generator for this code.

What I need to do is to create a few valid and a few invalid section messages.
I am not sure GStreamer has features in the API to create messages, just to
process ones received.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

Sebastian Dröge-3
On Wed, 2019-05-15 at 09:31 +0100, Russel Winder wrote:

> On Wed, 2019-05-15 at 00:47 -0500, kuttypaiyan wrote:
> > Have you tried using ts-parser example code? It is in
> > gst-plugins-bad\tests\examples\mpegts. Hope this will give you needed
> > information.
>
> The code there is for debugging MPEG-TS Sections, which is very useful, but
> what I really need is the (seemingly non-existent) functional test data or
> test data generator for this code.
>
> What I need to do is to create a few valid and a few invalid section messages.
> I am not sure GStreamer has features in the API to create messages, just to
> process ones received.
Check the code of the MPEG-TS demuxer for creation of those data
structures based on what was found in the stream, and the muxer should
have some code that handles them.

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

Russel Winder
On Wed, 2019-05-15 at 15:02 +0300, Sebastian Dröge wrote:
[…]
>
> Check the code of the MPEG-TS demuxer for creation of those data
> structures based on what was found in the stream, and the muxer
> should
> have some code that handles them.

Are there any functional tests for these codes?

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

Sebastian Dröge-3
On Thu, 2019-05-16 at 13:38 +0100, Russel Winder wrote:
> On Wed, 2019-05-15 at 15:02 +0300, Sebastian Dröge wrote:
> […]
> > Check the code of the MPEG-TS demuxer for creation of those data
> > structures based on what was found in the stream, and the muxer
> > should
> > have some code that handles them.
>
> Are there any functional tests for these codes?

If there are they would be in tests/check :)

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

Nicolas Dufresne-5
In reply to this post by Russel Winder


Le jeu. 16 mai 2019 08 h 40, Russel Winder <[hidden email]> a écrit :
On Wed, 2019-05-15 at 15:02 +0300, Sebastian Dröge wrote:
[…]
>
> Check the code of the MPEG-TS demuxer for creation of those data
> structures based on what was found in the stream, and the muxer
> should
> have some code that handles them.

Are there any functional tests for these codes?

Maybe that ?



--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: MPEG-TS Section example

Russel Winder
On Thu, 2019-05-16 at 09:22 -0400, Nicolas Dufresne wrote:

> Le jeu. 16 mai 2019 08 h 40, Russel Winder <[hidden email]> a écrit :
>
> > On Wed, 2019-05-15 at 15:02 +0300, Sebastian Dröge wrote:
> > […]
> > > Check the code of the MPEG-TS demuxer for creation of those data
> > > structures based on what was found in the stream, and the muxer
> > > should
> > > have some code that handles them.
> >
> > Are there any functional tests for these codes?
> >
>
> Maybe that ?
>
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/tests/check/elements/mpegtsmux.c
>
It seems this test is for multiplexing x-h264 video and mpeg audio into MPEG-
TS packets. Useful test, but not entirely useful in my current situation.

My problem is needing to test EIT messages. From what I can tell in gst-
plugin-bad there is lots of code for dealing with EIT packets. It seems that
tests/check/libs/mpegts.c tests for individual manually created PAT, PMT, NIT,
SDT, and STT packets, but no EIT packets. It appears there are no tests for
the EIT handling code in GStreamer, but I guess a detailed coverage report is
needed to prove/disprove this claim.

Whilst  tests/examples/mpegts/ts-parser.c is likely great for debugging EIT
messages in a GStreamer pipeline, it assumes generation of the EIT packet
elsewhere, and it assumes a pipeline.

I am getting close to writing a program to generate valid and invalid EIT
packets with various numbers of EITEvents. I suspect D might be a better
language to write this in than Rust – I am very unlikely to use C and I really
don't want to go back to C++.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MPEG-TS Section example

Russel Winder
In reply to this post by Sebastian Dröge-3
On Thu, 2019-05-16 at 16:03 +0300, Sebastian Dröge wrote:
> [..]
>
> If there are they would be in tests/check :)

Excellent. a 'grep -r EIT .' in gst-plugins-bad led me to:

tests/check/libs/mpegts.c

but whilst it seems to do some tests for PAT, PMT, NIT, SDT, and STT packets,
it doesn't appear to test any EIT packets.

As noted in my reply to Nicolas, I suspect I need to write an EIT packet
generator program. The question is whether to do this in D or Rust.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment