avcpp  2.0
Wrapper for the FFmpeg that simplify usage from C++ projects.
codecparameters.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "averror.h"
4 #include "ffmpeg.h"
5 #include "avutils.h"
6 #include "codec.h"
7 
8 extern "C" {
9 // codec_par.h included if needed
10 #include <libavcodec/avcodec.h>
11 }
12 
13 namespace av {
14 
15 enum class Direction
16 {
17  Invalid = -1,
18  Encoding,
19  Decoding
20 };
21 
27 class CodecParametersView : public FFWrapperPtr<AVCodecParameters>
28 {
29 public:
30  CodecParametersView(AVCodecParameters *codecpar = nullptr);
31  bool isValid() const;
32 
33  void copyFrom(CodecParametersView src, OptionalErrorCode ec = throws());
34  void copyTo(CodecParametersView dst, OptionalErrorCode ec = throws()) const;
35 
36  void copyFrom(const class CodecContext2& src, OptionalErrorCode ec = throws());
37  void copyTo(class CodecContext2& dst, OptionalErrorCode ec = throws()) const;
38 
39  int getAudioFrameDuration(int frame_bytes) const;
40 
41  // Getters & Setters
42 
43  AVMediaType codecType() const;
44  void codecType(AVMediaType codec_type);
45 
46  AVMediaType mediaType() const;
47  void mediaType(AVMediaType media_type);
48 
49  AVCodecID codecId() const;
50  void codecId(AVCodecID codec_id);
51 
52  Codec encodingCodec() const;
53  Codec decodingCodec() const;
54 
55  uint32_t codecTag() const;
56  void codecTag(uint32_t codec_tag);
57 
58  // TBD
59 };
60 
62 {
63 public:
66 };
67 
68 } // namespace av
Definition: codeccontext.h:35
The CodecParametersView class.
Definition: codecparameters.h:28
void copyFrom(const class CodecContext2 &src, OptionalErrorCode ec=throws())
Codec encodingCodec() const
Definition: codecparameters.cpp:137
int getAudioFrameDuration(int frame_bytes) const
Definition: codecparameters.cpp:96
Codec decodingCodec() const
Definition: codecparameters.cpp:142
CodecParametersView(AVCodecParameters *codecpar=nullptr)
Definition: codecparameters.cpp:6
uint32_t codecTag() const
Definition: codecparameters.cpp:147
AVMediaType mediaType() const
Definition: codecparameters.cpp:115
void copyFrom(CodecParametersView src, OptionalErrorCode ec=throws())
Definition: codecparameters.cpp:16
void copyTo(CodecParametersView dst, OptionalErrorCode ec=throws()) const
Definition: codecparameters.cpp:36
bool isValid() const
Definition: codecparameters.cpp:11
AVCodecID codecId() const
Definition: codecparameters.cpp:126
AVMediaType codecType() const
Definition: codecparameters.cpp:103
Definition: codecparameters.h:62
~CodecParameters()
Definition: codecparameters.cpp:164
CodecParameters()
Definition: codecparameters.cpp:159
Definition: codec.h:18
Definition: averror.h:64
Definition: avutils.h:51
Definition: audioresampler.cpp:8
Direction
Definition: codecparameters.h:16
Definition: ffmpeg.h:22