Ejemplo n.º 1
0
DemuxPacket* CInputStream::ReadDemux()
{
  DemuxPacket* pPacket = nullptr;
  try
  {
    pPacket = m_pStruct->DemuxRead();
  }
  catch (std::exception &e)
  {
    CLog::Log(LOGERROR, "CInputStream::ReadDemux - error. Reason: %s", e.what());
    return nullptr;
  }

  if (!pPacket)
  {
    return nullptr;
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMINFO)
  {
    UpdateStreams();
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMCHANGE)
  {
    UpdateStreams();
  }

  return pPacket;
}
Ejemplo n.º 2
0
bool CInputStream::Open(CFileItem &fileitem)
{
  INPUTSTREAM props;
  props.m_nCountInfoValues = 0;
  std::vector<std::string> values;
  for (auto &key : m_fileItemProps)
  {
    if (fileitem.GetProperty(key).isNull())
      continue;
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strKey = key.c_str();
    values.push_back(fileitem.GetProperty(key).asString());
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strValue = values.back().c_str();
    props.m_nCountInfoValues++;
  }
  props.m_strURL = fileitem.GetPath().c_str();

  bool ret = false;
  try
  {
    ret = m_pStruct->Open(props);
    if (ret)
      m_caps = m_pStruct->GetCapabilities();
  }
  catch (std::exception &e)
  {
    CLog::Log(LOGERROR, "CInputStream::Open - could not open stream. Reason: %s", e.what());
    return false;
  }

  UpdateStreams();
  return ret;
}
Ejemplo n.º 3
0
bool CInputStream::Open(CFileItem &fileitem)
{
  INPUTSTREAM props;
  std::map<std::string, std::string> propsMap;
  for (auto &key : m_fileItemProps)
  {
    if (fileitem.GetProperty(key).isNull())
      continue;
    propsMap[key] = fileitem.GetProperty(key).asString();
  }

  props.m_nCountInfoValues = 0;
  for (auto &pair : propsMap)
  {
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strKey = pair.first.c_str();
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strValue = pair.second.c_str();
    props.m_nCountInfoValues++;
  }

  props.m_strURL = fileitem.GetPath().c_str();
  
  std::string libFolder = URIUtils::GetDirectory(m_parentLib);
  std::string profileFolder = CSpecialProtocol::TranslatePath(Profile());
  props.m_libFolder = libFolder.c_str();
  props.m_profileFolder = profileFolder.c_str();

  bool ret = m_pStruct->Open(props);
  if (ret)
    m_caps = m_pStruct->GetCapabilities();

  UpdateStreams();
  return ret;
}
Ejemplo n.º 4
0
void cSoundStreamRenderer::OnFrame(float dt)
{
    if(!IsValid())
        return;

    UpdateStreams();

    UnmarkAllBindings();
};
Ejemplo n.º 5
0
DemuxPacket* CInputStream::ReadDemux()
{
  DemuxPacket* pPacket = m_pStruct->DemuxRead();

  if (!pPacket)
  {
    return nullptr;
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMINFO)
  {
    UpdateStreams();
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMCHANGE)
  {
    UpdateStreams();
  }

  return pPacket;
}
Ejemplo n.º 6
0
/// <summary>
/// Dispatch the message to the handler function
/// </summary>
/// <param name="hWnd">The handle to the window which receives the message</param>
/// <param name="uMsg">The message identifier</param>
/// <param name="wParam">The additional message information</param>
/// <param name="lParam">The additional message information</param>
/// <returns>If the message has been processed by handler function, TRUE is returned. Otherwise FALSE is returned and the message is handled by default dialog procedure</returns>
LRESULT KinectWindow::DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_STREAMEVENT:
        UpdateStreams();
        break;

    case WM_TIMEREVENT:
        UpdateTimedStreams();
        break;

    case WM_INITDIALOG:
        NuiViewer::SetIcon(hWnd);
        break;

    case WM_SIZE:
        OnResize();
        break;

    case WM_COMMAND:
        OnCommand(wParam);
        break;

    case WM_NOTIFY:
        OnNotify(lParam);
        break;

    case WM_CLOSE:
        OnClose(hWnd, wParam);
        break;

    case WM_DESTROY:
        PostQuitMessage(0);
        break;

    case WM_SHOWKINECTWINDOW:
        {
            if (0 != wParam)
            {
                ShowWindows();
            }
        }
        break;

    default:
        break;
    }

    return FALSE;
}
Ejemplo n.º 7
0
DemuxPacket* CInputStream::ReadDemux()
{
  DemuxPacket* pPacket = nullptr;
  try
  {
    pPacket = m_pStruct->DemuxRead();
  }
  catch (std::exception &e)
  {
    CLog::Log(LOGERROR, "CInputStream::ReadDemux - error");
    return nullptr;
  }

  if (!pPacket)
  {
    return nullptr;
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMINFO)
  {
    UpdateStreams();
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMCHANGE)
  {
    UpdateStreams();
  }

  int id = 0;;
  for (auto &stream : m_streams)
  {
    if (stream.second->iPhysicalId == pPacket->iStreamId)
    {
      pPacket->iStreamId = id;
      return pPacket;
    }
    id++;
  }
  return pPacket;
}
Ejemplo n.º 8
0
BOOL DVBTChannels_Service::UpdateService(DVBTChannels_Service *pNewService)
{
	if (bManualUpdate)
		return FALSE;

	BOOL bChange =  (serviceId != pNewService->serviceId) ||						// serviceId changed or
					(logicalChannelNumber != pNewService->logicalChannelNumber) ||	// lcn changed or
					(serviceName == NULL) ||										// current name isn't set yet or
					((pNewService->serviceName) &&									//  new name is set and
					 (_wcsicmp(pNewService->serviceName, L"") != 0) &&				//  new name isn't blank and
					 (_wcsicmp(serviceName, pNewService->serviceName) != 0));		//  new name has changed

	if (bChange)
	{
		BOOL bExistingData = (serviceId != 0) || (logicalChannelNumber != 0) || (serviceName != NULL);

		if (bExistingData)
			(log << "Updating Service Information\n").Write();
		else
			(log << "New Service Information\n").Write();
		LogMessageIndent indent1(&log);

		if (bExistingData)
		{
			(log << "Original Values\n").Write();
			LogMessageIndent indent2(&log);
			PrintServiceDetails();
		}

		serviceId = pNewService->serviceId;
		strCopy(serviceName, pNewService->serviceName);
		if (pNewService->logicalChannelNumber != 0)
			logicalChannelNumber = pNewService->logicalChannelNumber;

		if (bExistingData)
		{
			(log << "New Values\n").Write();
			LogMessageIndent indent2(&log);
			PrintServiceDetails();
		}
		else
		{
			PrintServiceDetails();
		}
	}

	bChange |= UpdateStreams(pNewService);

	return bChange;
}
Ejemplo n.º 9
0
DemuxPacket* CDVDDemuxPVRClient::Read()
{
  DemuxPacket* pPacket = g_PVRManager.ReadDemuxStream();
  if (!pPacket)
    return CDVDDemuxUtils::AllocateDemuxPacket(0);

  if (pPacket->iStreamId == DMX_SPECIALID_STREAMINFO)
  {
    UpdateStreams((PVR_STREAMPROPS*)pPacket->pData);
    CDVDDemuxUtils::FreeDemuxPacket(pPacket);
    return CDVDDemuxUtils::AllocateDemuxPacket(0);
  }
  else if (pPacket->iStreamId == DMX_SPECIALID_STREAMCHANGE)
  {
    Reset();
    CDVDDemuxUtils::FreeDemuxPacket(pPacket);
    return CDVDDemuxUtils::AllocateDemuxPacket(0);
  }

  return pPacket;
}
Ejemplo n.º 10
0
bool CInputStream::Open(CFileItem &fileitem)
{
  INPUTSTREAM props;
  std::map<std::string, std::string> propsMap;
  for (auto &key : m_fileItemProps)
  {
    if (fileitem.GetProperty(key).isNull())
      continue;
    propsMap[key] = fileitem.GetProperty(key).asString();
  }

  props.m_nCountInfoValues = 0;
  for (auto &pair : propsMap)
  {
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strKey = pair.first.c_str();
    props.m_ListItemProperties[props.m_nCountInfoValues].m_strValue = pair.second.c_str();
    props.m_nCountInfoValues++;
  }

  props.m_strURL = fileitem.GetPath().c_str();
  
  std::string libFolder = URIUtils::GetDirectory(m_parentLib);
  props.m_libFolder = libFolder.c_str();

  bool ret = false;
  try
  {
    ret = m_pStruct->Open(props);
    if (ret)
      m_caps = m_pStruct->GetCapabilities();
  }
  catch (std::exception &e)
  {
    CLog::Log(LOGERROR, "CInputStream::Open - could not open stream. Reason: %s", e.what());
    return false;
  }

  UpdateStreams();
  return ret;
}