AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IInputStream.hpp
Go to the documentation of this file.
1 #ifndef _AV_TRANSCODER_CODED_STREAM_I_INPUT_STREAM_HPP_
2 #define _AV_TRANSCODER_CODED_STREAM_I_INPUT_STREAM_HPP_
3 
5 
9 
11 
12 namespace avtranscoder
13 {
14 
15 class AvExport IInputStream
16 {
17 public:
18  virtual ~IInputStream(){};
19 
20  /**
21  * @brief Read the next packet of the stream
22  * @param data: data of next packet read
23  * @return if next packet was read succefully
24  **/
25  virtual bool readNextPacket(CodedData& data) = 0;
26 
27  /**
28  * @note The returned object could be cast depending on the type of the stream (video, audio...)
29  * @see VideoProperties, AudioProperties...
30  * @return the properties of the stream
31  */
32  virtual const StreamProperties& getProperties() const = 0;
33 
34  /**
35  * @return the index of the stream
36  */
37  virtual size_t getStreamIndex() const = 0;
38 
39  //@{
40  /**
41  * Return the codec informations of the stream
42  * @exception Raise a runtime error if the stream is not of the corresponding type
43  */
44  virtual VideoCodec& getVideoCodec() = 0;
45  virtual AudioCodec& getAudioCodec() = 0;
46  virtual DataCodec& getDataCodec() = 0;
47  //@}
48 
49  //@{
50  /**
51  * @brief Functions about buffering
52  * Activate the stream will buffered its data when read packets.
53  * @see IInputStream methods
54  */
55  virtual void activate(const bool activate = true) = 0;
56  virtual bool isActivated() const = 0;
57  virtual void clearBuffering() = 0;
58  //@}
59 };
60 }
61 
62 #endif
Virtual based class of properties for all types of stream.
This class describes coded data.
Definition: CodedData.hpp:18
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy