PATCH - Scan support for H.264 Video, AAC Audio, and MHEG sections

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Attached patch is off the dvb-apps mercurial repo for scan.c. This adds
the following additional support to the scan tool -

1. H.264 video stream detection - type 0x1b
2. ADTS Audio streams - usually AAC Audio - type 0x0f
3. LATM Transport stream - usually AAC Audio - type 0x11
4. MHEG data stream - type 0x07
5. DSM-CC data stream - here in NZ used for MHEG data - type 0x0b

I've needed these for the recent DVB-T tests that have started up in NZ.
The video is going all be H.264 and they have been trialling different
ways to encapsulate the AAC audio.

Also rather than using EIT data all EPG information will be carried over a
MHEG data stream.

Stever

--------------------------------------------
Steven Ellis - Technical Director
OpenMedia Limited - The Home of myPVR
email   - steven@xxxxxxxxxxxxxxx
website - http://www.openmedia.co.nz
diff -r f8983bebd9dd util/scan/scan.c
--- a/util/scan/scan.c	Sat Dec 22 17:46:36 2007 +0100
+++ b/util/scan/scan.c	Thu Dec 27 10:25:39 2007 +1300
@@ -757,12 +757,15 @@ static void parse_pmt (const unsigned ch
 		switch (buf[0]) {
 		case 0x01:
 		case 0x02:
+		case 0x1b: /* H.264 video stream */
 			moreverbose("  VIDEO     : PID 0x%04x\n", elementary_pid);
 			if (s->video_pid == 0)
 				s->video_pid = elementary_pid;
 			break;
 		case 0x03:
 		case 0x81: /* Audio per ATSC A/53B [2] Annex B */
+		case 0x0f: /* ADTS Audio Stream - usually AAC */
+		case 0x11: /* ISO/IEC 14496-3 Audio with LATM transport */
 		case 0x04:
 			moreverbose("  AUDIO     : PID 0x%04x\n", elementary_pid);
 			if (s->audio_num < AUDIO_CHAN_MAX) {
@@ -773,6 +776,12 @@ static void parse_pmt (const unsigned ch
 			else
 				warning("more than %i audio channels, truncating\n",
 				     AUDIO_CHAN_MAX);
+			break;
+		case 0x07:
+			moreverbose("  MHEG      : PID 0x%04x\n", elementary_pid);
+			break;
+		case 0x0B:
+			moreverbose("  DSM-CC    : PID 0x%04x\n", elementary_pid);
 			break;
 		case 0x06:
 			if (find_descriptor(0x56, buf + 5, ES_info_len, NULL, NULL)) {
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux