Hi Thomas,
The patch is a tiny bit different for VDR 2.2.0 - in remux.c - see below
There's a small issue with audio types also: Here, AAC (ADTS) per ISO/IEC 13818-7 or AAC (LATM) per ISO/IEC 14496-3 is regularly used for audio in HD broadcasts - my suggestion is that these streams should be handled too. For example, I transcode radio/audio to AAC in m4a or AAC_LATM in .ts files. Arguably the newer ATSC, DTS, Dolby true HD... streams should be added too ( https://en.wikipedia.org/wiki/Program-specific_information#Elementary_stream... )
For now my audioparser line looks like this, which works for both flavours of AAC, and they play on Kodi and VLC. else if (type == 0x03 || type == 0x04 || type == 0x06 || type == 0x0F || type == 0x11) // MPEG2,4 AAC, AC3 audio
The original audio-only .ts (MP2 codec) actually doesn't play in VLC, but plays in ffplay.
Patch:
--- remux.c.orig 2016-06-30 14:16:52.530155071 +0100 +++ remux.c 2016-06-30 14:36:09.028232179 +0100 @@ -604,6 +604,7 @@
void cPatPmtParser::Reset(void) { + completed = false; pmtSize = 0; patVersion = pmtVersion = -1; pmtPids[0] = 0; @@ -893,6 +894,7 @@ } } pmtVersion = Pmt.getVersionNumber(); + completed = true; } else esyslog("ERROR: can't parse PMT"); @@ -1464,7 +1466,7 @@ parser = new cMpeg2Parser; else if (type == 0x1B) parser = new cH264Parser; - else if (type == 0x04 || type == 0x06) // MPEG audio or AC3 audio + else if (type == 0x03 || type == 0x04 || type == 0x06 || type == 0x0F || type == 0x11) // MPEG2,4 AAC, AC3 audio parser = new cAudioParser; else if (type != 0) esyslog("ERROR: unknown stream type %d (PID %d) in frame detector", type, pid);
On 27/06/2016 06:46, Thomas Reufer wrote:
Hi Richard
I observed the same behavior two weeks ago when I wanted to replay an edited radio recording. Please find my proposed fix attached, maybe Klaus will take it into the next VDR developer release.
Regards, Thomas
Quoting Richard F lists@keynet-technology.com :