2011-01-31, 23:22
As postet in some threads, i am suffering problems with playback some channels.
I'am try to debug the problem. After quick check the transport-protocol if notice some odd fact.
I modified the VNSIDemux.cpp -> DemuxPacket* cVNSIDemux::Read() as followed:
playback channels without a problem values grows continuously:
Channels with problems causes "jumps" down to zero
This block frequently, after a smale number (10 till 20) of normal continuously growing values a DTS/PTS Value 0 is logged.
i try to debug the vnsi-vdr code and found out, that these 0 values are generated by the cParserMPEG2Video:arse_MPEG2Video. But i can't figure out how and why some MPEG2 Streams runs well and some make problems. Does anybody have an idea?
I'am try to debug the problem. After quick check the transport-protocol if notice some odd fact.
I modified the VNSIDemux.cpp -> DemuxPacket* cVNSIDemux::Read() as followed:
Code:
pkt->duration = (double)resp->getDuration() * DVD_TIME_BASE / 1000000;
pkt->dts = (double)resp->getDTS() * DVD_TIME_BASE / 1000000;
pkt->pts = (double)resp->getPTS() * DVD_TIME_BASE / 1000000;
pkt->iStreamId = -1;
for(int i = 0; i < m_Streams.nstreams; i++)
{
if(m_Streams.stream[i].physid == (int)resp->getStreamID())
{
pkt->iStreamId = i;
break;
}
}
XBMC->Log(LOG_ERROR, "cVNSIDemux::Duration %f", pkt->duration);
XBMC->Log(LOG_ERROR, "cVNSIDemux::DTS %f", pkt->dts);
XBMC->Log(LOG_ERROR, "cVNSIDemux::PTS %f", pkt->pts);
XBMC->Log(LOG_ERROR, "cVNSIDemux::iStreamId %f", pkt->iStreamId);
playback channels without a problem values grows continuously:
Code:
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830183389.000000
cVNSIDemux::PTS 76830183389.000000
cVNSIDemux::iStreamId 76830183389.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830295389.000000
cVNSIDemux::PTS 76830295389.000000
cVNSIDemux::iStreamId 76830295389.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 76830226800.000000
cVNSIDemux::PTS 76830226800.000000
cVNSIDemux::iStreamId 76830226800.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830335389.000000
cVNSIDemux::PTS 76830335389.000000
cVNSIDemux::iStreamId 76830335389.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830223389.000000
cVNSIDemux::PTS 76830223389.000000
cVNSIDemux::iStreamId 76830223389.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 76830250800.000000
cVNSIDemux::PTS 76830250800.000000
cVNSIDemux::iStreamId 76830250800.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830375389.000000
cVNSIDemux::PTS 76830495389.000000
cVNSIDemux::iStreamId 76830495389.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 76830274800.000000
cVNSIDemux::PTS 76830274800.000000
cVNSIDemux::iStreamId 76830274800.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830263389.000000
cVNSIDemux::PTS 76830263389.000000
cVNSIDemux::iStreamId 76830263389.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 76830298800.000000
cVNSIDemux::PTS 76830298800.000000
cVNSIDemux::iStreamId 76830298800.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830415389.000000
cVNSIDemux::PTS 76830415389.000000
cVNSIDemux::iStreamId 76830415389.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 76830322800.000000
cVNSIDemux::PTS 76830322800.000000
cVNSIDemux::iStreamId 76830322800.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830455389.000000
cVNSIDemux::PTS 76830455389.000000
cVNSIDemux::iStreamId 76830455389.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 76830303389.000000
cVNSIDemux::PTS 76830303389.000000
cVNSIDemux::iStreamId 76830303389.000000
Channels with problems causes "jumps" down to zero
Code:
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 0.000000
cVNSIDemux::PTS 0.000000
cVNSIDemux::iStreamId 0.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073655311.000000
cVNSIDemux::PTS 3073655311.000000
cVNSIDemux::iStreamId 3073655311.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 3073585422.000000
cVNSIDemux::PTS 3073585422.000000
cVNSIDemux::iStreamId 3073585422.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073679311.000000
cVNSIDemux::PTS 3073679311.000000
cVNSIDemux::iStreamId 3073679311.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 3073625422.000000
cVNSIDemux::PTS 3073625422.000000
cVNSIDemux::iStreamId 3073625422.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073703311.000000
cVNSIDemux::PTS 3073703311.000000
cVNSIDemux::iStreamId 3073703311.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073727311.000000
cVNSIDemux::PTS 3073727311.000000
cVNSIDemux::iStreamId 3073727311.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 3073665422.000000
cVNSIDemux::PTS 3073665422.000000
cVNSIDemux::iStreamId 3073665422.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073751311.000000
cVNSIDemux::PTS 3073751311.000000
cVNSIDemux::iStreamId 3073751311.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 3074287300.000000
cVNSIDemux::PTS 3074407300.000000
cVNSIDemux::iStreamId 3074407300.000000
cVNSIDemux::Duration 24000.000000
cVNSIDemux::DTS 3073775311.000000
cVNSIDemux::PTS 3073775311.000000
cVNSIDemux::iStreamId 3073775311.000000
cVNSIDemux::Duration 40000.000000
cVNSIDemux::DTS 0.000000
cVNSIDemux::PTS 0.000000
cVNSIDemux::iStreamId 0.000000
This block frequently, after a smale number (10 till 20) of normal continuously growing values a DTS/PTS Value 0 is logged.
i try to debug the vnsi-vdr code and found out, that these 0 values are generated by the cParserMPEG2Video:arse_MPEG2Video. But i can't figure out how and why some MPEG2 Streams runs well and some make problems. Does anybody have an idea?