justburner 64e039
#pragma once
justburner 64e039
justburner 64e039
#ifndef TSIO_FFMPEG_INCLUDED
justburner 64e039
#define TSIO_FFMPEG_INCLUDED
justburner 64e039
justburner 64e039
#include "tsound_io.h"
justburner 64e039
justburner 64e039
//==========================================================
justburner 64e039
/*!
justburner 64e039
The class TSoundTrackReaderFFmpeg reads audio files
justburner 64e039
*/
justburner 64e039
class TSoundTrackReaderFFmpeg final : public TSoundTrackReader {
justburner 64e039
public:
justburner 64e039
  TSoundTrackReaderFFmpeg(const TFilePath &fp);
justburner 64e039
  ~TSoundTrackReaderFFmpeg() {}
justburner 64e039
justburner 64e039
  /*!
justburner 64e039
Loads audio file whose path has been specified in the constructor.
justburner 64e039
It returns a TSoundTrackP created from the audio file
justburner 64e039
*/
justburner 64e039
  TSoundTrackP load() override;
justburner 64e039
justburner 64e039
  /*!
justburner 64e039
Returns a soundtrack reader able to read audio files
justburner 64e039
*/
justburner 64e039
  static TSoundTrackReader *create(const TFilePath &fp) {
justburner 64e039
    return new TSoundTrackReaderFFmpeg(fp);
justburner 64e039
  }
justburner 64e039
};
justburner 64e039
justburner 64e039
#endif