mirror of
https://github.com/LX3JL/xlxd.git
synced 2025-12-06 07:42:01 +01:00
Merge pull request #213 from narspt/patch-16
fix frame sequence for streams initiated on different mode
This commit is contained in:
commit
19b13dfc8b
|
|
@ -174,7 +174,10 @@ void CPacket::UpdatePids(uint32 pid)
|
||||||
}
|
}
|
||||||
if ( m_uiYsfPacketFrameId == 0xFF )
|
if ( m_uiYsfPacketFrameId == 0xFF )
|
||||||
{
|
{
|
||||||
m_uiYsfPacketFrameId = ((pid / 5) & 0x7FU) << 1;
|
if (IsDvHeader())
|
||||||
|
m_uiYsfPacketFrameId = 0;
|
||||||
|
else
|
||||||
|
m_uiYsfPacketFrameId = (((pid / 5) + 1) & 0x7FU) << 1;
|
||||||
}
|
}
|
||||||
// imrs pid needs update ?
|
// imrs pid needs update ?
|
||||||
if ( m_uiImrsPacketId == 0xFF )
|
if ( m_uiImrsPacketId == 0xFF )
|
||||||
|
|
@ -184,6 +187,9 @@ void CPacket::UpdatePids(uint32 pid)
|
||||||
}
|
}
|
||||||
if ( m_uiImrsPacketFrameId == 0xFFFF )
|
if ( m_uiImrsPacketFrameId == 0xFFFF )
|
||||||
{
|
{
|
||||||
m_uiImrsPacketFrameId = LOWORD(pid / 5);
|
if (IsDvHeader())
|
||||||
|
m_uiImrsPacketFrameId = 0;
|
||||||
|
else
|
||||||
|
m_uiImrsPacketFrameId = LOWORD((pid / 5) + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,8 @@ void CPacketStream::Push(CPacket *Packet)
|
||||||
{
|
{
|
||||||
// update stream dependent packet data
|
// update stream dependent packet data
|
||||||
m_LastPacketTime.Now();
|
m_LastPacketTime.Now();
|
||||||
Packet->UpdatePids(m_uiPacketCntr++);
|
Packet->UpdatePids(m_uiPacketCntr);
|
||||||
|
if (Packet->IsDvFrame()) { m_uiPacketCntr++; }
|
||||||
// transcoder avaliable ?
|
// transcoder avaliable ?
|
||||||
if ( m_CodecStream != NULL )
|
if ( m_CodecStream != NULL )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue