DemuxPacket* CDVDInputStreamPVRManager::ReadDemux()
{
  CPVRClientPtr client;
  if (!CServiceBroker::GetPVRManager().Clients()->GetPlayingClient(client))
  {
    return nullptr;
  }

  DemuxPacket* pPacket = nullptr;
  client->DemuxRead(pPacket);
  if (!pPacket)
  {
    return nullptr;
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMINFO)
  {
    client->GetStreamProperties(m_StreamProps);
    return pPacket;
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMCHANGE)
  {
    client->GetStreamProperties(m_StreamProps);
    UpdateStreamMap();
  }

  return pPacket;
}
bool CDVDInputStreamPVRManager::OpenDemux()
{
  CPVRClientPtr client;
  if (!CServiceBroker::GetPVRManager().Clients()->GetPlayingClient(client))
  {
    return false;
  }

  client->GetStreamProperties(m_StreamProps);
  UpdateStreamMap();
  return true;
}