From 504c63b3d62038bc486ca8a09e77fbb403907edd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 10 May 2016 14:29:14 +0100 Subject: Basics of splitting up Decoder tree like Content. --- src/lib/decoder.h | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/lib/decoder.h') 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 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 video; + boost::shared_ptr audio; + boost::shared_ptr 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; }; -- cgit v1.2.3