亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ps2ts.cpp

?? 很好的流媒體服務器程序,linux或window下做流媒體的可以參考很不錯哦
?? CPP
字號:
/******************************************************************************** ps2ts.cpp: threaded PS to TS converter*-------------------------------------------------------------------------------* (c)1999-2001 VideoLAN* $Id: ps2ts.cpp,v 1.8 2002/10/07 15:01:21 sam Exp $** Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.**-------------------------------------------------------------------------------********************************************************************************///------------------------------------------------------------------------------// Preamble//------------------------------------------------------------------------------#include "../../core/defs.h"#include "../../core/core.h"#if defined(HAVE_INTTYPES_H)#   include <inttypes.h>#elif defined(HAVE_STDINT_H)#   include <stdint.h>#endif#ifdef HAVE_DVBPSI_DVBPSI_H#   include <dvbpsi/dvbpsi.h>#   include <dvbpsi/descriptor.h>#   include <dvbpsi/pat.h>#   include <dvbpsi/pmt.h>#   include <dvbpsi/dr.h>#else#   include "src/dvbpsi.h"#   include "src/descriptor.h"#   include "src/tables/pat.h"#   include "src/tables/pmt.h"#   include "src/descriptors/dr.h"#endif#include "../../mpeg/mpeg.h"#include "../../mpeg/ts.h"#include "../../mpeg/streamdescr.h"#include "../../server/buffer.h"#include "../../server/program.h"#include "../../server/broadcast.h"#include "../../server/request.h"#include "../../server/input.h"#include "../../mpeg/dvbpsi.h"#include "../../mpeg/ps2ts.h"#include "../../mpeg/reader.h"#include "../../mpeg/converter.h"#include "ps2ts.h"#include "../../mpeg/ps2ts.cpp"//------------------------------------------------------------------------------// Library declaration//------------------------------------------------------------------------------#ifdef __PLUGIN__GENERATE_LIB_ARGS(C_Ps2TsMpegConverterModule, handle);#endif//------------------------------------------------------------------------------// Builtin declaration//------------------------------------------------------------------------------#ifdef __BUILTIN__C_Module* NewBuiltin_ps2ts(handle hLog){  return new C_Ps2TsMpegConverterModule(hLog);}#endif/******************************************************************************** C_Ps2TsMpegConverter****************************************************************************************************************************************************************///------------------------------------------------------------------------------// Constructor//------------------------------------------------------------------------------C_Ps2TsMpegConverter::C_Ps2TsMpegConverter(C_Module* pModule,                                        C_MpegConverterConfig& cConfig) :        C_MpegConverter(pModule, cConfig),        m_cConverter(cConfig.m_pReader,                     cConfig.m_pTsProvider, 2,                     cConfig.m_pBroadcast->GetOption("mpegversion").ToInt()){  m_bPreParse = (cConfig.m_pBroadcast->GetOption("preparse") == "1");  LogDbg(m_hLog,         C_String("Mpeg version : ") +         cConfig.m_pBroadcast->GetOption("mpegversion").ToInt());  LogDbg(m_hLog, C_String("Preparsing : ") + (m_bPreParse ? "yes" : "no"));}//------------------------------------------------------------------------------////------------------------------------------------------------------------------C_ProgramDescriptor* C_Ps2TsMpegConverter::GetPgrmDescriptor(){  return m_cConverter.GetPgrmDescriptor();}//------------------------------------------------------------------------------// Initialization//------------------------------------------------------------------------------void C_Ps2TsMpegConverter::InitWork(){  C_MpegConverter::InitWork();  m_cConverter.Synch();  int iRc = 0;  if(m_bPreParse)  {    for(unsigned int i = 0; i < m_pReader->Size() / 188 / 256; i++)    {      // preparsing to make the PAT and the PMT      C_TsPacket* pPacket = m_cConverter.GetPacket();      ASSERT(pPacket);      m_pTsProvider->ReleasePacket(pPacket);    }    // Back to the beginning    m_pReader->Seek(0, FILE_SEEK_BEGIN);    m_cConverter.Synch();  }  if(m_iInitFill)  {    for(unsigned int ui = 0; ui < m_iInitFill; ui++)    {      C_TsPacket* pPacket = m_cConverter.GetPacket();      ASSERT(pPacket);      m_pHandler->HandlePacket(pPacket);      if(m_cConverter.GetStatus())      {        iRc = MPEG_STREAMERROR;        break;      }    }  }  if(iRc == MPEG_ENDOFSTREAM)    iRc = NO_ERR;  else if(iRc)    throw E_Exception(GEN_ERR, "PS to TS converter failed to start");}//------------------------------------------------------------------------------// Main job//------------------------------------------------------------------------------void C_Ps2TsMpegConverter::DoWork(){  // Initialize the condition in the new thread.  m_cResumeCond.Protect();  C_String strPgrmName = m_pBroadcast->GetProgram()->GetName();  LogDbg(m_hLog, "Starting to read program \"" + strPgrmName + "\"");  int iRc = 0;  bool bDiscontinuity = false;  // Stream the file  while(!m_bStop && !iRc)  {    // Suspend/Resume handling    if(m_iShortPauseStatus == STATUS_PAUSE_REQUEST)    {      m_cResumeCond.Wait();      m_iShortPauseStatus = STATUS_RUNNING;    }    if(m_iLongPauseStatus == STATUS_PAUSE_REQUEST)    {      m_cResumeCond.Wait();      m_iLongPauseStatus = STATUS_RUNNING;      bDiscontinuity = true;    }    // Get a packet to fill    C_TsPacket* pPacket = m_cConverter.GetPacket();    switch(m_cConverter.GetStatus())    {    case 0:      if(!pPacket)        iRc = MPEG_STREAMERROR;      break;    case -99:      iRc = MPEG_ENDOFSTREAM;      break;    default:      iRc = MPEG_STREAMERROR;      break;    }    // Check stream discontinuity    if(    !iRc        && (m_pReader->HasDiscontinuity() || bDiscontinuity)        && pPacket->HasPCR())    {      ASSERT(pPacket);      ASSERT(pPacket->SetDiscontinuityFlag());      pPacket->SetDiscontinuityFlag();      m_pReader->ResetDiscontinuity();      bDiscontinuity = false;    }    if(!iRc)    {      // Stores the packet in the buffer      m_pHandler->HandlePacket(pPacket);    }    else if(iRc == MPEG_ENDOFSTREAM)    {      C_String strPgrmName = m_pBroadcast->GetProgram()->GetName();      LogDbg(m_hLog, "End of program \"" + strPgrmName + "\" reached");      if(pPacket)        m_pTsProvider->ReleasePacket(pPacket);    }    else    {      C_String strPgrmName = m_pBroadcast->GetProgram()->GetName();      Log(m_hLog, LOG_ERROR, "Read error for program \"" + strPgrmName + "\"");      if(pPacket)        m_pTsProvider->ReleasePacket(pPacket);    }  }  if(!m_bStop)  {    LogDbg(m_hLog, "Stopping converter by callback for program " + strPgrmName);    m_bStop = true;    C_Event cEvent(m_pBroadcast->GetInput()->GetName());    cEvent.SetCode(EOF_EVENT);    cEvent.SetBroadcast(m_pBroadcast);    m_pEventHandler->HandleEvent(cEvent);  }  m_cResumeCond.Release();  LogDbg(m_hLog, "Converter stopped for program " + strPgrmName);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久超碰97人人做人人爱| 99视频热这里只有精品免费| 国产福利一区二区三区视频| 欧洲av一区二区嗯嗯嗯啊| 精品国产人成亚洲区| 亚洲一二三级电影| 高清国产午夜精品久久久久久| 欧美三区在线视频| 亚洲欧洲精品天堂一级| 国内精品伊人久久久久av一坑 | 欧美激情中文字幕一区二区| 天天色天天操综合| 91日韩在线专区| 欧美国产欧美综合| 精品制服美女丁香| 欧美高清视频在线高清观看mv色露露十八| 国产精品久久久久久福利一牛影视 | 国产盗摄一区二区三区| 欧美一区二区三区免费视频| 夜夜亚洲天天久久| 色婷婷综合视频在线观看| 国产精品理伦片| 国产成a人亚洲精| 久久久久久一二三区| 免费av成人在线| 欧美一区二区三区人| 日韩精品免费视频人成| 欧美精品日韩精品| 亚洲va国产va欧美va观看| 在线视频一区二区免费| 一区二区欧美国产| 在线观看免费视频综合| 亚洲综合男人的天堂| 欧美三级韩国三级日本一级| 洋洋av久久久久久久一区| 在线国产电影不卡| 亚洲成人在线免费| 欧美一区二区视频观看视频| 欧美aaa在线| 亚洲精品一区二区三区四区高清| 精品一二三四区| 久久久国产综合精品女国产盗摄| 国产精品一区二区视频| 国产精品久久久久永久免费观看| 成人永久aaa| 亚洲欧洲99久久| 色综合久久久久综合体| 亚洲一区二区三区四区在线 | 国内一区二区视频| 久久精品夜色噜噜亚洲a∨| 国产精品538一区二区在线| 国产精品视频一二| 在线视频观看一区| 日韩vs国产vs欧美| 久久久精品影视| 99精品国产视频| 视频在线观看一区| 国产无遮挡一区二区三区毛片日本| 成人黄色综合网站| 亚洲综合久久av| 精品国产91久久久久久久妲己| 国产精品一区二区x88av| 亚洲色图欧洲色图婷婷| 欧美日韩国产三级| 国产一区激情在线| 亚洲伦在线观看| 欧美成人bangbros| 91亚洲男人天堂| 奇米一区二区三区av| 国产精品国产a级| 欧美日韩在线不卡| 国产91丝袜在线18| 五月天精品一区二区三区| 久久这里只有精品视频网| 91久久精品网| 国产精品影音先锋| 日韩精品高清不卡| 综合av第一页| 欧美精品一区二区在线观看| 在线一区二区三区四区五区| 国产一区二区电影| 亚洲电影激情视频网站| 中文在线一区二区| 欧美zozozo| 欧美日韩在线精品一区二区三区激情 | 亚洲私人黄色宅男| 精品国产乱码久久久久久夜甘婷婷| 91丨porny丨蝌蚪视频| 久久99国产乱子伦精品免费| 亚洲激情av在线| 国产午夜久久久久| 精品国产乱码久久久久久图片| 欧美色涩在线第一页| av中文字幕亚洲| 国产精品系列在线播放| 蜜臀av一区二区| 国产很黄免费观看久久| 日产国产高清一区二区三区| 亚洲三级电影网站| 日本一区二区免费在线观看视频| 欧美一级片免费看| 欧美日韩视频在线一区二区| 91在线一区二区| 成人激情开心网| 懂色av一区二区夜夜嗨| 国产精品88av| 国产伦理精品不卡| 激情图片小说一区| 免费成人av在线播放| 日本成人中文字幕| 亚洲va国产天堂va久久en| 亚洲高清中文字幕| 亚洲最新在线观看| 亚洲最色的网站| 亚洲最快最全在线视频| 伊人开心综合网| 亚洲一区二区三区自拍| 亚洲国产综合人成综合网站| 一区二区日韩av| 亚洲国产精品视频| 首页国产欧美久久| 免播放器亚洲一区| 久久国内精品视频| 国产综合久久久久久久久久久久| 国产专区综合网| 国产精品77777竹菊影视小说| 国产成+人+日韩+欧美+亚洲| www.欧美色图| 在线视频综合导航| 欧美精品九九99久久| 日韩女优电影在线观看| 久久久av毛片精品| 亚洲人成小说网站色在线| 亚洲一区在线观看免费 | 麻豆精品久久精品色综合| 激情五月激情综合网| 国产成人av福利| 91丨porny丨最新| 欧美精品日日鲁夜夜添| 久久久91精品国产一区二区精品| 国产精品麻豆久久久| 亚洲一二三区不卡| 黄色精品一二区| 99久久精品国产麻豆演员表| 欧美日韩日日夜夜| 精品国产一区二区三区久久久蜜月 | 69久久99精品久久久久婷婷| 欧美大白屁股肥臀xxxxxx| 国产欧美精品区一区二区三区| 亚洲欧洲成人av每日更新| 手机精品视频在线观看| 国v精品久久久网| 色狠狠色狠狠综合| 精品欧美久久久| 亚洲女性喷水在线观看一区| 美女视频一区二区| 99麻豆久久久国产精品免费优播| 欧美酷刑日本凌虐凌虐| 欧美高清一级片在线观看| 三级一区在线视频先锋 | 91女厕偷拍女厕偷拍高清| 欧美一区三区四区| 成人欧美一区二区三区黑人麻豆| 日韩不卡免费视频| 色婷婷精品久久二区二区蜜臀av | 国产欧美一区二区精品仙草咪| 一区二区三区中文字幕精品精品| 国产在线不卡一区| 欧美日韩一二三| 国产精品剧情在线亚洲| 久久国产婷婷国产香蕉| 欧美日韩一区三区| 亚洲欧洲精品天堂一级 | 国产日韩欧美精品电影三级在线| 亚洲高清在线精品| 92国产精品观看| 欧美国产在线观看| 久久狠狠亚洲综合| 91精品免费在线| 亚洲一区二区四区蜜桃| 97久久久精品综合88久久| 国产欧美一区二区在线| 九九精品视频在线看| 欧美一区二区日韩一区二区| 亚洲一级二级三级在线免费观看| 99久久久久免费精品国产| 久久亚洲欧美国产精品乐播| 日韩精品国产欧美| 欧美日本免费一区二区三区| 亚洲精品视频在线观看网站| 92精品国产成人观看免费 | 国产性色一区二区| 麻豆91在线播放| 日韩欧美aaaaaa| 美女脱光内衣内裤视频久久网站| 在线播放国产精品二区一二区四区 | 日韩免费电影一区| 日日噜噜夜夜狠狠视频欧美人| 欧美丝袜丝交足nylons图片| 一区二区三区久久|