Advertisement
Guest User

muxer_header

a guest
May 2nd, 2021
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. struct Muxer
  2. {
  3.     Muxer() = default;
  4.     ~Muxer();
  5.  
  6.     void open(String const &inFile,
  7.               String const &outFile,
  8.               AVCodecID     codec = AV_CODEC_ID_HEVC);
  9.     void open(DataProvider* pDataProvider,
  10.               String const &outFile,
  11.               AVCodecID     codec = AV_CODEC_ID_HEVC);
  12.     void close();
  13.  
  14.     void start();
  15.     void progress();
  16.     void finish();
  17.  
  18.     bool isOpen() const;
  19.  
  20. private:
  21.     void open(AVFormatContext *pInContext,
  22.               String const &   outputFileName,
  23.               AVCodecID        codec);
  24.  
  25. public:
  26.     AVFormatContext *pInFmtCtx{nullptr};
  27.     AVFormatContext *pOutFmtCtx{nullptr};
  28.     AVBSFContext *   pBSFContext{nullptr};
  29.     AVPacket         pkt;
  30.     AVPacket         pktFiltered;
  31.     int64_t          curPts{0};
  32.     int              videoIndexIn{-1};
  33.     int              videoIndexOut{-1};
  34.  
  35.     AVCodecID codec;
  36.     String    dstFile;
  37. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement