h264videostreamframer.hh

来自「H.264 RTSP 串流(live 555)視窗」· HH 代码 · 共 47 行

HH
47
字号
#ifndef _H264_VIDEO_STREAM_FRAMER_HH
#define _H264_VIDEO_STREAM_FRAMER_HH

#ifndef _FRAMED_FILTER_HH
#include "FramedFilter.hh"
#endif


class H264VideoStreamFramer: public FramedFilter {
public:

  static H264VideoStreamFramer* createNew(UsageEnvironment& env, FramedSource* inputSource);
  virtual Boolean currentNALUnitEndsAccessUnit();
  Boolean& pictureEndMarker() { return fPictureEndMarker; }    // a hack for implementing the RTP 'M' bit

protected:
  // Constructor called only by createNew(), or by subclass constructors
  H264VideoStreamFramer(UsageEnvironment& env,
                            FramedSource* inputSource,
                            Boolean createParser = True);
  virtual ~H264VideoStreamFramer();


public: 
  static void continueReadProcessing(void* clientData,
                     unsigned char* ptr, unsigned size,
                     struct timeval presentationTime);
  void continueReadProcessing();

private:
  virtual void doGetNextFrame();
  virtual Boolean isH264VideoStreamFramer() const;
  

protected:
  double   fFrameRate;    // Note: For MPEG-4, this is really a 'tick rate' ??
  unsigned fPictureCount; // hack used to implement doGetNextFrame() ??
  Boolean  fPictureEndMarker;

private:
  class H264VideoStreamParser* fParser;
  struct timeval fPresentationTimeBase;
};

#endif

⌨️ 快捷键说明

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