[vlc-devel] PCR PID different than Video PID problem

Krzysztof Czajka krzysztof.czajka at telmor.pl
Fri Dec 28 18:18:09 CET 2007


Hi all
I founded interesting problem with receiving TS from DVB.
Usually there are PCR pid identic as Video PID on stream.
But there are some differences from this and there are some problems 
with losts packets when PCR PID is different from Video PID.
 
access_output_udp is checking timing packets, when i_dts is not 
referenced to stable pcr then module is dropping late packets.
I think, that in fact there are no late packet, there are varying clock 
reference when calculating i_date_last and i_date

*access_output_udp: late packet for udp input (848432241)
*access_output_udp: late packet for udp input (391460676)
*access_output_udp: mmh, packets in the past (24620980150)
*access_output_udp: packet has been sent too late (24620971606)
*access_output_udp: mmh, hole (457157203 > 2s) -> drop
*access_output_udp: dropped 54 packets

there some messages
*main: late buffer for mux input (21654844248)
*mux_ts: packet with too strange dts 
(dts=1198733365026274,old=1198755019950007,pcr=1198755019948974)
*main: late buffer for mux input (30946)
it seems to be getting pcr value from dts field or something like this.

there also some messages like this:
*access_output_udp: packet has been sent too late (27034)
*access_output_udp: mmh, packets in the past (114469)
*access_output_udp: packet has been sent too late (111032)
*access_output_udp: mmh, packets in the past (285673)
*access_output_udp: packet has been sent too late (286228)



For example program
Astra 1KR (19.2E) - 10861.75 H
SID: 7104
VPID: 518
APID: 710
PMT PID: 258
PCR PID: 8190

I thik, that ts muxer cannot use this PCR PID.

First, VLC scans all services
ts: new PAT ts_id=1059 version=17 current_next=1
ts:   * number=0 pid=16
ts:   * number=7102 pid=256
ts:   * number=7103 pid=257
ts:   * number=7104 pid=259
dvb: Opening device /dev/dvb/adapter0/demux0
dvb: DMXSetFilter: DMX_PES_OTHER for PID 259
ts:   * number=7100 pid=262
ts:   * number=7101 pid=263
ts:   * number=7105 pid=258
ts:   * number=7106 pid=260
ts: PMTCallBack called
ts: new PMT program number=7104 version=17 pid_pcr=8190

I will try to solve this by checking if pcr is really taking from 8190 
PID or from dts Video PID.

Please give me some thoughts if I go in right way.

Regards
Krzysztof Czajka



More information about the vlc-devel mailing list