From: Gert V. <ger...@hc...> - 2004-10-15 18:52:37
|
The following patch fixes the problem. It checks the registration format indentifier and then corrects the descriptor tag to 0x81: --- demux_ts.c.1 2004-10-15 18:39:49.141302216 +0200 +++ demux_ts.c 2004-10-15 20:51:32.630789184 +0200 @@ -1169,8 +1169,15 @@ #ifdef TS_PMT_LOG printf ("demux_ts: PMT AC3 audio pid 0x%.4x\n", pid); #endif - demux_ts_pes_new(this, this->media_num, pid, this->audio_fifo,stream[0]); - this->audioPid = pid; + uint32_t format_identifier=0; + demux_ts_get_reg_desc(this, &format_identifier, + stream + 5, stream_info_length); + if (format_identifier == 0x41432d33) /* AC-3 */ + demux_ts_pes_new(this, this->media_num, pid, this->audio_fifo, 0x81); + else + demux_ts_pes_new(this, this->media_num, pid, this->audio_fifo,stream[0]); + + this->audioPid = pid; this->audioMedia = this->media_num; demux_ts_get_lang_desc(this, this->audioLang, stream + 5, stream_info_length); |