diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-05-10 14:29:14 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-05-18 11:50:29 +0100 |
| commit | 504c63b3d62038bc486ca8a09e77fbb403907edd (patch) | |
| tree | d9118c185110dd9eb103ed033700d4b3f486785d /src/lib/decoder.h | |
| parent | 9423e02c37daba7f9e406929a1cfc1bb10fb4b62 (diff) | |
Basics of splitting up Decoder tree like Content.
Diffstat (limited to 'src/lib/decoder.h')
| -rw-r--r-- | src/lib/decoder.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lib/decoder.h b/src/lib/decoder.h index 10bb45310..979c6cf58 100644 --- a/src/lib/decoder.h +++ b/src/lib/decoder.h @@ -29,6 +29,9 @@ #include <boost/utility.hpp> class Decoded; +class VideoDecoder; +class AudioDecoder; +class SubtitleDecoder; /** @class Decoder. * @brief Parent class for decoders of content. @@ -38,8 +41,15 @@ class Decoder : public boost::noncopyable public: virtual ~Decoder () {} -protected: - friend class AudioDecoderStream; + boost::shared_ptr<VideoDecoder> video; + boost::shared_ptr<AudioDecoder> audio; + boost::shared_ptr<SubtitleDecoder> subtitle; + + enum PassReason { + PASS_REASON_VIDEO, + PASS_REASON_AUDIO, + PASS_REASON_SUBTITLE + }; /** Seek so that the next pass() will yield the next thing * (video/sound frame, subtitle etc.) at or after the requested @@ -51,12 +61,6 @@ protected: */ virtual void seek (ContentTime time, bool accurate) = 0; - enum PassReason { - PASS_REASON_VIDEO, - PASS_REASON_AUDIO, - PASS_REASON_SUBTITLE - }; - /** @return true if this decoder has already returned all its data and will give no more */ virtual bool pass (PassReason, bool accurate) = 0; }; |
