#include <common/memory.h>
+#include <core/fwd.h>
+
#include <boost/noncopyable.hpp>
struct AVPacket;
struct AVFormatContext;
-namespace caspar {
-
-namespace core {
-
-struct video_format_desc;
-
-}
-
-namespace ffmpeg {
+namespace caspar { namespace ffmpeg {
-class audio_decoder : public monitor::observable
- , boost::noncopyable
+class audio_decoder : public boost::noncopyable
{
public:
- explicit audio_decoder(class input& input, const core::video_format_desc& format_desc);
+ explicit audio_decoder(class input& input, const core::video_format_desc& format_desc, int audio_stream_index);
audio_decoder(audio_decoder&& other);
audio_decoder& operator=(audio_decoder&& other);
std::wstring print() const;
- // monitor::observable
-
- void subscribe(const monitor::observable::observer_ptr& o) override;
- void unsubscribe(const monitor::observable::observer_ptr& o) override;
+ core::monitor::subject& monitor_output();
private:
struct impl;