mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed generating PMT language descriptors for multi language PIDs
This commit is contained in:
parent
512522f259
commit
515966cdea
@ -1093,6 +1093,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
|
|||||||
suggesting to add plain text error messages to log entries from cOsd::SetAreas()
|
suggesting to add plain text error messages to log entries from cOsd::SetAreas()
|
||||||
for keeping subtitles visible when pausing replay
|
for keeping subtitles visible when pausing replay
|
||||||
for suggesting to assign the source character 'I' to "IPTV"
|
for suggesting to assign the source character 'I' to "IPTV"
|
||||||
|
for fixing generating PMT language descriptors for multi language PIDs
|
||||||
|
|
||||||
Ralf Klueber <ralf.klueber@vodafone.com>
|
Ralf Klueber <ralf.klueber@vodafone.com>
|
||||||
for reporting a bug in cutting a recording if there is only a single editing mark
|
for reporting a bug in cutting a recording if there is only a single editing mark
|
||||||
|
4
HISTORY
4
HISTORY
@ -6411,7 +6411,7 @@ Video Disk Recorder Revision History
|
|||||||
- The new setup option "Folders in timer menu" controls whether the file names in
|
- The new setup option "Folders in timer menu" controls whether the file names in
|
||||||
the timer menu are shown with their full folder path.
|
the timer menu are shown with their full folder path.
|
||||||
|
|
||||||
2010-04-11: Version 1.7.15
|
2010-04-18: Version 1.7.15
|
||||||
|
|
||||||
- Added Macedonian language texts (thanks to Dimitar Petrovski).
|
- Added Macedonian language texts (thanks to Dimitar Petrovski).
|
||||||
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
|
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
|
||||||
@ -6435,3 +6435,5 @@ Video Disk Recorder Revision History
|
|||||||
- The various modulation types are now taken into account when selecting a device for
|
- The various modulation types are now taken into account when selecting a device for
|
||||||
a recording or live viewing, so that devices that provide more capabilities are
|
a recording or live viewing, so that devices that provide more capabilities are
|
||||||
spared.
|
spared.
|
||||||
|
- Fixed generating PMT language descriptors for multi language PIDs (thanks to Rolf
|
||||||
|
Ahrenberg).
|
||||||
|
20
remux.c
20
remux.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: remux.c 2.43 2010/04/05 09:32:57 kls Exp $
|
* $Id: remux.c 2.44 2010/04/18 13:40:20 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "remux.h"
|
#include "remux.h"
|
||||||
@ -219,11 +219,17 @@ int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language
|
|||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
Target[i++] = SI::ISO639LanguageDescriptorTag;
|
Target[i++] = SI::ISO639LanguageDescriptorTag;
|
||||||
Target[i++] = 0x04; // length
|
int Length = i++;
|
||||||
Target[i++] = *Language++;
|
Target[Length] = 0x00; // length
|
||||||
Target[i++] = *Language++;
|
for (const char *End = Language + strlen(Language); Language < End; ) {
|
||||||
Target[i++] = *Language++;
|
Target[i++] = *Language++;
|
||||||
Target[i++] = 0x01; // audio type
|
Target[i++] = *Language++;
|
||||||
|
Target[i++] = *Language++;
|
||||||
|
Target[i++] = 0x01; // audio type
|
||||||
|
Target[Length] += 0x04; // length
|
||||||
|
if (*Language == '+')
|
||||||
|
Language++;
|
||||||
|
}
|
||||||
IncEsInfoLength(i);
|
IncEsInfoLength(i);
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
@ -318,8 +324,6 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
|
|||||||
i += MakeStream(buf + i, 0x04, Channel->Apid(n));
|
i += MakeStream(buf + i, 0x04, Channel->Apid(n));
|
||||||
const char *Alang = Channel->Alang(n);
|
const char *Alang = Channel->Alang(n);
|
||||||
i += MakeLanguageDescriptor(buf + i, Alang);
|
i += MakeLanguageDescriptor(buf + i, Alang);
|
||||||
if (Alang[3] == '+')
|
|
||||||
i += MakeLanguageDescriptor(buf + i, Alang + 3);
|
|
||||||
}
|
}
|
||||||
for (int n = 0; Channel->Dpid(n); n++) {
|
for (int n = 0; Channel->Dpid(n); n++) {
|
||||||
i += MakeStream(buf + i, 0x06, Channel->Dpid(n));
|
i += MakeStream(buf + i, 0x06, Channel->Dpid(n));
|
||||||
|
Loading…
Reference in New Issue
Block a user