mpeg1or2fileserverdemux.hh

来自「c++实现的流媒体库,和mplayer结合就可以实现多媒体的网络播放,属于开源项」· HH 代码 · 共 68 行

HH
68
字号
/**********This library is free software; you can redistribute it and/or modify it underthe terms of the GNU Lesser General Public License as published by theFree Software Foundation; either version 2.1 of the License, or (at youroption) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.)This library is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESSFOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License formore details.You should have received a copy of the GNU Lesser General Public Licensealong with this library; if not, write to the Free Software Foundation, Inc.,59 Temple Place, Suite 330, Boston, MA  02111-1307  USA**********/// "liveMedia"// Copyright (c) 1996-2007 Live Networks, Inc.  All rights reserved.// A server demultiplexer for a MPEG 1 or 2 Program Stream// C++ header#ifndef _MPEG_1OR2_FILE_SERVER_DEMUX_HH#define _MPEG_1OR2_FILE_SERVER_DEMUX_HH#ifndef _SERVER_MEDIA_SESSION_HH#include "ServerMediaSession.hh"#endif#ifndef _MPEG_1OR2_DEMUXED_ELEMENTARY_STREAM_HH#include "MPEG1or2DemuxedElementaryStream.hh"#endifclass MPEG1or2FileServerDemux: public Medium {public:  static MPEG1or2FileServerDemux*  createNew(UsageEnvironment& env, char const* fileName, Boolean reuseFirstSource);  ServerMediaSubsession* newAudioServerMediaSubsession(); // MPEG-1 or 2 audio  ServerMediaSubsession* newVideoServerMediaSubsession(Boolean iFramesOnly = False,						       double vshPeriod = 5.0		       /* how often (in seconds) to inject a Video_Sequence_Header,			  if one doesn't already appear in the stream */);  ServerMediaSubsession* newAC3AudioServerMediaSubsession(); // AC-3 audio (from VOB)  unsigned fileSize() const { return fFileSize; }  float fileDuration() const { return fFileDuration; }private:  MPEG1or2FileServerDemux(UsageEnvironment& env, char const* fileName,			  Boolean reuseFirstSource);      // called only by createNew();  virtual ~MPEG1or2FileServerDemux();private:  friend class MPEG1or2DemuxedServerMediaSubsession;  MPEG1or2DemuxedElementaryStream* newElementaryStream(unsigned clientSessionId,						       u_int8_t streamIdTag);private:  char const* fFileName;  unsigned fFileSize;  float fFileDuration;  Boolean fReuseFirstSource;  MPEG1or2Demux* fSession0Demux;  MPEG1or2Demux* fLastCreatedDemux;  u_int8_t fLastClientSessionId;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?