After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 708688 - Message EISS and SCTE signaling sections on bus similar to PSI
Message EISS and SCTE signaling sections on bus similar to PSI
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 1.3.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-09-24 15:51 UTC by Steve Maynard
Modified: 2013-09-28 11:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to post signaling sections to bus (4.47 KB, patch)
2013-09-24 15:51 UTC, Steve Maynard
needs-work Details | Review
Post-review patch to augment sections messaged from the mpegts lib (10.39 KB, patch)
2013-09-27 12:58 UTC, Steve Maynard
none Details | Review
post-review patch to combine ETV and SCTE section information as ETV really falls under SCTE via CableLabs (9.01 KB, patch)
2013-09-27 14:45 UTC, Steve Maynard
none Details | Review

Description Steve Maynard 2013-09-24 15:51:04 UTC
Created attachment 255640 [details] [review]
patch to post signaling sections to bus

Add processing of stream type 0xC0 (now GST_MPEG_TS_STREAM_TYPE_SIGNALING) and table IDs for EISS, DCII, and SCTE-35 to mpegtsbase PSI processing.

With the enclosed patch, sections from same are now posted on the bus for processing by applications interested in that data.
Comment 1 Edward Hervey 2013-09-25 06:20:39 UTC
Review of attachment 255640 [details] [review]:

::: gst-libs/gst/mpegts/gstmpegtssection.h
@@ +97,3 @@
   GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS		= 0x3F,
 
+  /* SCTE-35 / CL-SP-ETV-AM 1.0.1 */

This should go in a new header file (like it's done for the dvb and atsc sections).

gst-scte-section.h maybe ?

And add documentation about them :)

@@ +307,2 @@
   /* 0x80 - 0xff : User Private (or defined in other specs) */
+  GST_MPEG_TS_STREAM_TYPE_SIGNALING                    = 0xC0,

Only ISO/IEC 13818-1 / ITU H.222.0 stuff should go here.

Create a new enum in gst-scte-section.h

Bonus points and free beers are offered if you put the full list of stream types defined by SCTE :)

::: gst/mpegtsdemux/mpegtsbase.c
@@ +649,3 @@
+                  stream->pid, SAFE_FOURCC_ARGS (program->registration_id));
+
+              if ((DRF_ID_ETV1 == program->registration_id) ||

no yoda coding please.

Also, shouldn't you be checking ... the *stream* registration_id ? I thought it wasn't guaranteed that the program would have the ETV1/CUEI registration id.

Maybe a simple macro would help clarify the code also

::: tests/examples/mpegts/ts-parser.c
@@ +375,3 @@
 }
 
+// TODO: add dump_signaling()

Maybe we can leave these ts-parser changes aside for the time being.

It would be better if we created a new GstMpegTsSectionType for those.
Comment 2 Steve Maynard 2013-09-27 12:58:14 UTC
Created attachment 255926 [details] [review]
Post-review patch to augment sections messaged from the mpegts lib
Comment 3 Edward Hervey 2013-09-27 13:38:21 UTC
Just check if ETV is controlled by the same body as SCTE. If so, they should go into one file.

Those separate files are meant to be by controlling body (ex: any specs from dvb.org => gst-dvb-section).

Apart from that it's fine.
Comment 4 Steve Maynard 2013-09-27 14:45:38 UTC
Created attachment 255939 [details] [review]
post-review patch to combine ETV and SCTE section information as ETV really falls under SCTE via CableLabs
Comment 5 Edward Hervey 2013-09-28 11:16:27 UTC
Committed. I did some minor fixups (to fix docs)

commit 17ed696faae40a90bfbc1afbe948cd80199ab061
Author: Steve Maynard <steve@secondstryke.com>
Date:   Fri Sep 27 14:45:00 2013 +0000

    mpegts: Add SCTE/EISS sections and table types
    
    https://bugzilla.gnome.org/show_bug.cgi?id=708688