X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fffmpeg%2Fproducer%2Faudio%2Faudio_decoder.h;h=0deb8292045c7bbb7162f407fc17ef9e0cb2a096;hb=726897adbf881d3b75f171fff24f2b917ba5f05a;hp=3a1de55eeb4bf26ba1cf481c3c78f98191a18572;hpb=44673a6d0f90e0cb6427ebe06f467795a6789642;p=casparcg diff --git a/modules/ffmpeg/producer/audio/audio_decoder.h b/modules/ffmpeg/producer/audio/audio_decoder.h index 3a1de55ee..0deb82920 100644 --- a/modules/ffmpeg/producer/audio/audio_decoder.h +++ b/modules/ffmpeg/producer/audio/audio_decoder.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2011 Sveriges Television AB +* Copyright 2013 Sveriges Television AB http://casparcg.com/ * * This file is part of CasparCG (www.casparcg.com). * @@ -21,37 +21,34 @@ #pragma once -#include -#include - #include +#include + #include struct AVPacket; +struct AVFrame; struct AVFormatContext; namespace caspar { namespace ffmpeg { - -class audio_decoder : public boost::noncopyable + +class audio_decoder : boost::noncopyable { public: - explicit audio_decoder(class input& input, const core::video_format_desc& format_desc); + explicit audio_decoder(const spl::shared_ptr& context, int out_samplerate); - audio_decoder(audio_decoder&& other); - audio_decoder& operator=(audio_decoder&& other); + bool ready() const; + void push(const std::shared_ptr& packet); + std::shared_ptr poll(); - std::shared_ptr operator()(); + int num_channels() const; + uint64_t ffmpeg_channel_layout() const; - uint32_t nb_frames() const; - std::wstring print() const; - - core::monitor::subject& monitor_output(); - private: - struct impl; - spl::shared_ptr impl_; + struct implementation; + spl::shared_ptr impl_; }; -}} \ No newline at end of file +}}