From 58f53485bb112896a9446771acfa2abe0a528cec Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 20 Oct 2012 19:30:04 +0100 Subject: Try to clean up stream handling wrt audio channel counts. --- src/lib/stream.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 7 deletions(-) (limited to 'src/lib/stream.h') diff --git a/src/lib/stream.h b/src/lib/stream.h index 764c03d79..2db63c620 100644 --- a/src/lib/stream.h +++ b/src/lib/stream.h @@ -20,20 +20,63 @@ #ifndef DVDOMATIC_STREAM_H #define DVDOMATIC_STREAM_H -struct Stream +class Stream { public: - Stream (std::string t); + Stream () + : _id (-1) + {} Stream (std::string n, int i) - : name (n) - , id (i) + : _name (n) + , _id (i) {} - std::string to_string () const; + virtual std::string to_string () const = 0; - std::string name; - int id; + std::string name () const { + return _name; + } + + int id () const { + return _id; + } + +protected: + std::string _name; + int _id; +}; + +struct AudioStream : public Stream +{ +public: + AudioStream (std::string t); + + AudioStream (std::string n, int i, int c) + : Stream (n, i) + , _channels (c) + {} + + std::string to_string () const; + + int channels () const { + return _channels; + } + +private: + int _channels; +}; + +class SubtitleStream : public Stream +{ +public: + SubtitleStream (std::string t); + + SubtitleStream (std::string n, int i) + : Stream (n, i) + {} + + std::string to_string () const; }; #endif -- cgit v1.2.3