-class ffmpeg_pts_offset_test;
-
-class FFmpegStream
-{
-public:
- FFmpegStream (std::string n, int i)
- : name (n)
- , id (i)
- , _legacy_id (false)
- {}
-
- FFmpegStream (boost::shared_ptr<const cxml::Node>, int);
-
- void as_xml (xmlpp::Node *) const;
-
- /** @param c An AVFormatContext.
- * @return Stream index within the AVFormatContext.
- */
- int index (AVFormatContext const * c) const;
- AVStream* stream (AVFormatContext const * c) const;
-
- std::string name;
- int id;
-
-private:
- /** If this is true, id is in fact the index */
- bool _legacy_id;
-};
-
-class FFmpegAudioStream : public FFmpegStream
-{
-public:
- FFmpegAudioStream (std::string n, int i, int f, int c)
- : FFmpegStream (n, i)
- , frame_rate (f)
- , channels (c)
- , mapping (c)
- {
- mapping.make_default ();
- }
-
- FFmpegAudioStream (boost::shared_ptr<const cxml::Node>, int);
-
- void as_xml (xmlpp::Node *) const;
-
- int frame_rate;
- int channels;
- AudioMapping mapping;
- boost::optional<double> first_audio;
-
-private:
- friend class ffmpeg_pts_offset_test;
-
- /* Constructor for tests */
- FFmpegAudioStream ()
- : FFmpegStream ("", 0)
- , mapping (1)
- {}
-};
-
-extern bool operator== (FFmpegAudioStream const & a, FFmpegAudioStream const & b);
-extern bool operator!= (FFmpegAudioStream const & a, FFmpegAudioStream const & b);
-
-class FFmpegSubtitleStream : public FFmpegStream
-{
-public:
- FFmpegSubtitleStream (std::string n, int i)
- : FFmpegStream (n, i)
- {}
-
- FFmpegSubtitleStream (boost::shared_ptr<const cxml::Node>, int);
-
- void as_xml (xmlpp::Node *) const;
-};
-
-extern bool operator== (FFmpegSubtitleStream const & a, FFmpegSubtitleStream const & b);
-extern bool operator!= (FFmpegSubtitleStream const & a, FFmpegSubtitleStream const & b);