Hi,
> There is a 10MB sample at
> http://www.andrewhakman.dhs.org/sp_dec5.ts.truncated . What is wrong
> with this transport stream, and can dvbcut be made to correctly
> identify the audio?
>
> The transport stream was recorded with TSReader, and there were no
> continuity or TEI errors reported while recording the file.
> PMT on 0x0020 with
> PCR on PID 0x190
> ES Type 0x80 Video on PID 0x190
^^^^ this type is certainly not in any official tables
> ES Type 0x81 AC-3 Audio on PID 0x191
The problem is that the PMT is valid, but the stream type
of 0x80 isn't mapped to MPEG2 video (should it? I can't
find any indication but haven't looked hard). So dvbcut
drops the entire PMT information, and later fails
to auto-detect the audio because of unaligned syncwords.
I think some information is better than nothing: check_si_tables()
could process the audio streams and still return false, so that the
auto-detection finds the rest. Patch appended (with the 0x80 type
commented, this could be an alternative)-- maybe I overlooked
something this could break..
Regards,
Wolfram
--- src/tsfile.cpp~ 2007-11-06 10:29:55.000000000 +0100
+++ src/tsfile.cpp 2008-03-17 18:01:50.000000000 +0100
@@ -539,6 +550,7 @@
break;
case 0x01: // MPEG-1 video
case 0x02: // MPEG-2 video
+ //case 0x80:
if (vpid == -1)
vpid = pid;
break;
@@ -567,6 +579,8 @@
return false;
}
streamnumber[vpid] = VIDEOSTREAM;
+ }
+
std::list<std::pair<int, int> >::iterator ait = apids.begin();
while (ait != apids.end()) {
streamtype::type t = streamtype::unknown;
@@ -619,10 +633,10 @@
++ait;
}
initcodeccontexts(vpid);
- return true;
+ return vpid != -1;
}
// start over
apids.clear();
- }
+
return false;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
DVBCUT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dvbcut-user