Description
Some DVBS channels like NT1 ( ASTRA 19.2 ) uses PID PMT descriptor with size above 255 bytes. Unfortunately TsWriter forgot to write high nibble in the fake PMT table. As a result TsReader cannot read the ts file.
h4. Steps to Reproduce
Try to tune on NT1....
h4. Additional Information
Fix :
void CDiskRecorder::WriteFakePMT()
{
....
if (info.rawDescriptorData!=NULL)
{
==> Line to add : pmt[offset-2]=(info.rawDescriptorSize>>8);
==> line to modify : pmt[offset-1]=(info.rawDescriptorSize&0xFF);
memcpy(&pmt[offset],info.rawDescriptorData,info.rawDescriptorSize);
offset += info.rawDescriptorSize;
pmtLength += info.rawDescriptorSize;
}
++it;
...
}
h4. Steps to Reproduce
Try to tune on NT1....
h4. Additional Information
Fix :
void CDiskRecorder::WriteFakePMT()
{
....
if (info.rawDescriptorData!=NULL)
{
==> Line to add : pmt[offset-2]=(info.rawDescriptorSize>>8);
==> line to modify : pmt[offset-1]=(info.rawDescriptorSize&0xFF);
memcpy(&pmt[offset],info.rawDescriptorData,info.rawDescriptorSize);
offset += info.rawDescriptorSize;
pmtLength += info.rawDescriptorSize;
}
++it;
...
}