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

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

?? localinput.cpp

?? 很好的流媒體服務器程序,linux或window下做流媒體的可以參考很不錯哦
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************** localinput.cpp: Local streams*-------------------------------------------------------------------------------* (c)1999-2001 VideoLAN* $Id: localinput.cpp,v 1.13.4.1 2003/06/04 19:06:14 alexis 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"#include "../../mpeg/mpeg.h"#include "../../mpeg/ts.h"#include "../../mpeg/rtp.h"#include "../../server/program.h"#include "../../server/buffer.h"#include "../../server/output.h"#include "../../server/channel.h"#include "../../server/broadcast.h"#include "../../server/request.h"#include "../../server/input.h"#include "../../server/tsstreamer.h"#include "../../mpeg/reader.h"#include "../../mpeg/converter.h"#include "localinput.h"#define MAX_FILES_NUMBER 4096//------------------------------------------------------------------------------// Library declaration//------------------------------------------------------------------------------#ifdef __PLUGIN__GENERATE_LIB_ARGS(C_LocalInputModule, handle);#endif//------------------------------------------------------------------------------// Builtin declaration//------------------------------------------------------------------------------#ifdef __BUILTIN__C_Module* NewBuiltin_localinput(handle hLog){  return new C_LocalInputModule(hLog);}#endif/******************************************************************************** C_LocalInput class****************************************************************************************************************************************************************///------------------------------------------------------------------------------// Constructor//------------------------------------------------------------------------------C_LocalInput::C_LocalInput(C_Module* pModule,                           const C_String& strName) : C_Input(pModule,                                                              strName){}//------------------------------------------------------------------------------// Destructor//------------------------------------------------------------------------------C_LocalInput::~C_LocalInput(){}//------------------------------------------------------------------------------// Initialization//------------------------------------------------------------------------------void C_LocalInput::OnInit(){  C_Settings m_cSettings;  C_Application* pApp = C_Application::GetApp();  ASSERT(pApp);  // Build the program list  for(int ui = 1;       ui <= pApp->GetSetting(GetName()+".ProgramCount", "0").ToInt(); ui++)  {    C_String strName = pApp->GetSetting(GetName()+"."+C_String(ui)		                + ".Name",  C_String("Pgrm") + ui);    C_String* pStr = new C_String(strName);    m_vProgramNames.Add(pStr);    Log(m_hLog, LOG_NOTE, "Added program '" + *pStr+"'");  }}//------------------------------------------------------------------------------// Destruction//------------------------------------------------------------------------------void C_LocalInput::OnDestroy(){}//------------------------------------------------------------------------------////------------------------------------------------------------------------------C_List<C_Program> C_LocalInput::OnGetAvailablePgrms(){  C_List<C_Program> cPgrmList;  for(unsigned int ui = 0; ui < m_vProgramNames.Size(); ui++)  {    C_Program* pProgram = new C_Program(/*ui + 1,*/ m_vProgramNames[ui]);    ASSERT(pProgram);    cPgrmList.PushEnd(pProgram);  }  return cPgrmList;}//------------------------------------------------------------------------------// Start the reception of the given program//------------------------------------------------------------------------------void C_LocalInput::OnStartStreaming(C_Broadcast* pBroadcast){  C_Application* pApp = C_Application::GetApp();  ASSERT(pApp);  ASSERT(pBroadcast);  // We choose a TS packet buffer able to store up to 3s of stream at 8 Mbits/s  C_NetList* pTsProvider = new C_NetList(3*3*797);  // The netlist must be at least of the size of the Reader buffer +  // the size of the output buffer + 2 to be sure that there are always free  // packets in it  const C_Channel* pChannel = pBroadcast->GetChannel();  ASSERT(pTsProvider->Capacity() - pChannel->GetBuffCapacity() - 2 > 0);  unsigned int uiSize = pTsProvider->Capacity() -pChannel->GetBuffCapacity()-2;  C_SyncFifo* pBuffer;  // Get the type of the program  unsigned int uiId =        m_vProgramNames.Find(pBroadcast->GetProgram()->GetName()) + 1;  ASSERT(uiId > 0);  C_String strId = GetName() + "." + uiId;  C_String strType = pApp->GetSetting(strId + ".Type",                                            "Mpeg2-TS").ToLower();  C_String strReaderType;  C_String strConverterType;  // Specific behaviour depends on the type  if(strType == "mpeg1-ps")             // Mpeg 1 - Program Stream  {    // Update the size of the buffer and create it    uiSize -= 2;    pBuffer = new C_SyncFifo(uiSize);    // Reader configuration    strReaderType = "file";    C_String strFile = m_strFilesPath +                                   pApp->GetSetting(strId+".FileName", "");    pBroadcast->SetOption("filename", strFile);    // Converter configuration    strConverterType = "ps2ts";    pBroadcast->SetOption("mpegversion", "1");    pBroadcast->SetOption("preparse", "1");  }  else if(strType == "mpeg2-ps")        // Mpeg 2 - Program Stream  {    // Update the size of the buffer and create it    uiSize -= 2;    pBuffer = new C_SyncFifo(uiSize);    // Reader configuration    strReaderType = "file";    C_String strFile = m_strFilesPath +                       pApp->GetSetting(strId+".FileName", "");    pBroadcast->SetOption("filename", strFile);    // Converter configuration    strConverterType = "ps2ts";    pBroadcast->SetOption("mpegversion", "2");    pBroadcast->SetOption("preparse", "1");  }  else if(strType == "mpeg2-ts")        // Mpeg 2 - Transport Stream  {    // Update the size of the buffer and create it    pBuffer = new C_SyncFifo(uiSize);    // Reader configuration    strReaderType = "file";    C_String strFile = m_strFilesPath +                       pApp->GetSetting(strId+".FileName", "");    pBroadcast->SetOption("filename", strFile);    // Converter configuration    strConverterType = "ts2ts";  }  else if(strType == "dvd")             // DVD device (Mpeg2 PS)  {    // Update the size of the buffer and create it    uiSize -= 2;    pBuffer = new C_SyncFifo(uiSize);    // Reader configuration    strReaderType = "dvd";    C_String strDevice = pApp->GetSetting(strId+".Device", "");    pBroadcast->SetOption("device", strDevice);    C_String strDvdTitle = pApp->GetSetting(strId+".dvdtitle","");    pBroadcast->SetOption("dvdtitle", strDvdTitle);    C_String strDvdChapter = pApp->GetSetting(strId+".dvdchapter","");    pBroadcast->SetOption("dvdchapter", strDvdChapter);    // Converter configuration    strConverterType = "ps2ts";    pBroadcast->SetOption("mpegversion", "2");    pBroadcast->SetOption("preparse", "0");  }  else  {    delete pTsProvider;    throw E_Exception(GEN_ERR, "Unsupported or unknown type : " + strType);  }  C_MpegReader* pReader;  // Create the converter  C_MpegReaderModule* pReaderModule = (C_MpegReaderModule*)                                C_Application::GetModuleManager()                                        ->GetModule("mpegreader",                                                    strReaderType);  if(pReaderModule)  {    pReader = pReaderModule->NewMpegReader(pBroadcast);    ASSERT(pReader);  }  else  {    throw E_Exception(GEN_ERR,                      "Module mpegreader:" + strConverterType +                      " not present");  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区免费在线观看| 色综合色狠狠综合色| 婷婷夜色潮精品综合在线| 亚洲欧美激情在线| 亚洲欧美自拍偷拍| 国产精品色婷婷久久58| 国产精品久久久久9999吃药| 国产农村妇女毛片精品久久麻豆 | 国产精品久久久久久久久久免费看| 久久亚洲精精品中文字幕早川悠里| 日韩精品一区在线| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 中文字幕综合网| 国产精品第五页| 亚洲免费观看高清在线观看| 一区二区三区成人| 视频一区二区国产| 日韩制服丝袜av| 看电影不卡的网站| 国产精品一区二区男女羞羞无遮挡| 国产在线播精品第三| 国产传媒久久文化传媒| a级高清视频欧美日韩| 一本一本大道香蕉久在线精品| 欧美三级韩国三级日本一级| 欧美一区日韩一区| 久久精品欧美日韩| ...中文天堂在线一区| 亚洲成av人片一区二区三区| 日本亚洲最大的色成网站www| 国产最新精品免费| 色综合久久天天| 91精品国产91热久久久做人人| 精品国产伦理网| 亚洲欧美偷拍卡通变态| 丝袜美腿亚洲一区二区图片| 国产精品一区免费在线观看| 91美女片黄在线观看91美女| 91精品视频网| 欧美国产日韩a欧美在线观看 | 国模套图日韩精品一区二区| 成人精品一区二区三区四区 | 中文字幕亚洲不卡| 亚洲va国产va欧美va观看| 久久99国产精品免费网站| www.欧美日韩| 日韩午夜在线播放| 最新成人av在线| 日本不卡一区二区三区高清视频| 国产成人超碰人人澡人人澡| 欧美日韩另类国产亚洲欧美一级| 久久精品日产第一区二区三区高清版| 亚洲一区免费在线观看| 国产不卡高清在线观看视频| 精品视频在线视频| 日本一区二区三区四区在线视频| 视频一区二区三区入口| 不卡欧美aaaaa| 日韩你懂的在线播放| 一区二区三区四区在线播放| 国产一区二区剧情av在线| 欧美综合一区二区| 中文乱码免费一区二区| 蜜臀av一级做a爰片久久| 91丝袜美女网| 国产亚洲1区2区3区| 五月婷婷另类国产| 色呦呦一区二区三区| 久久久精品综合| 看片网站欧美日韩| 777xxx欧美| 尤物av一区二区| 成人性视频免费网站| 日韩精品一区在线| 午夜精品福利视频网站| 91片在线免费观看| 国产农村妇女毛片精品久久麻豆| 另类中文字幕网| 欧美日韩一区二区三区免费看 | 成人在线综合网| 日韩欧美国产午夜精品| 亚洲电影一区二区三区| av激情成人网| 中文字幕不卡在线| 国产成人在线视频网址| 精品久久久久久久一区二区蜜臀| 亚洲成a人在线观看| 国产欧美日韩不卡| 免费高清不卡av| 国产成人在线观看免费网站| 日韩一级大片在线| 五月天婷婷综合| 在线精品国精品国产尤物884a| 亚洲欧洲av在线| a亚洲天堂av| 日本一区二区电影| 国产高清精品网站| 国产欧美一区二区三区鸳鸯浴| 精品中文av资源站在线观看| 精品久久久久久无| 国产麻豆一精品一av一免费| 日韩欧美综合在线| 久久精品99国产精品| 欧美一区二区三区视频在线| 日产国产欧美视频一区精品| 91精品国产综合久久久久久久久久| 亚洲第一成人在线| 欧美日韩免费观看一区二区三区 | 国产精品一区二区x88av| 精品剧情v国产在线观看在线| 日本亚洲三级在线| 日韩精品一区二| 国产一区二区三区日韩| 国产丝袜美腿一区二区三区| 国产69精品久久久久毛片| 中文字幕乱码日本亚洲一区二区| 国产成人精品1024| 亚洲美女屁股眼交| 色婷婷综合在线| 视频一区欧美日韩| 精品国产电影一区二区| 国产91精品在线观看| 亚洲三级视频在线观看| 在线观看亚洲一区| 日产精品久久久久久久性色| 精品久久人人做人人爰| 国产中文字幕精品| 国产精品久久夜| 在线免费一区三区| 美女在线视频一区| 国产嫩草影院久久久久| 色播五月激情综合网| 亚洲成人黄色小说| 久久伊人蜜桃av一区二区| 波多野结衣视频一区| 亚洲国产人成综合网站| 日韩欧美一区中文| 成人黄色国产精品网站大全在线免费观看 | 精品入口麻豆88视频| 国产精品1区二区.| 一区二区三区.www| 日韩一级视频免费观看在线| 风间由美性色一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 亚洲乱码国产乱码精品精98午夜 | 亚洲猫色日本管| 91麻豆精品国产自产在线| 国产毛片精品一区| 亚洲第一成年网| 国产欧美一区二区精品性色| 欧美视频一区二区三区| 精品一区二区免费| 一区2区3区在线看| 欧美精品一区二区三区很污很色的| 99精品热视频| 麻豆一区二区99久久久久| 亚洲欧洲精品成人久久奇米网| 欧美一区二区三区免费大片| 99re66热这里只有精品3直播| 日韩精品一区第一页| 中文字幕在线一区免费| 欧美一级国产精品| 91在线小视频| 国产乱人伦偷精品视频免下载 | 不卡免费追剧大全电视剧网站| 日韩av不卡一区二区| 亚洲久本草在线中文字幕| 精品国产乱码久久久久久久久| 色又黄又爽网站www久久| 国产精品一区一区| 日韩精品每日更新| 一区二区三区四区在线| 久久青草欧美一区二区三区| 在线播放亚洲一区| 国产成人av电影在线| 26uuu精品一区二区在线观看| 亚洲国产成人在线| 91免费看`日韩一区二区| 亚洲欧美另类久久久精品| 国产精品一区二区在线观看不卡 | 亚洲综合成人网| 国产亚洲一二三区| 91精品久久久久久蜜臀| 色欧美日韩亚洲| 成人av电影在线播放| 国产精品自拍网站| 男女视频一区二区| 午夜精品一区二区三区电影天堂| 久久这里只有精品视频网| 欧美午夜电影网| 国产一区在线不卡| 亚洲美女视频在线观看| 国产精品乱子久久久久| 日韩午夜在线播放| 美女视频免费一区| 8v天堂国产在线一区二区| 波多野结衣的一区二区三区| 26uuu国产在线精品一区二区| 午夜av电影一区| 3751色影院一区二区三区|