Compilation fixes now that ffmpegsource_common.cpp has been moved over. Everything compiles correctly now.

Originally committed to SVN as r5279.
This commit is contained in:
Amar Takhar 2011-02-03 15:49:44 +00:00
parent b47dd1e220
commit ffff58d698
4 changed files with 17 additions and 7 deletions

View file

@ -25,6 +25,7 @@
#endif
#include "ffms_audio.h"
#include "libaegisub/media.h"
namespace agi {
namespace ffms {
@ -161,9 +162,9 @@ void Audio::LoadAudio(std::string filename) {
// }
#if FFMS_VERSION >= ((2 << 24) | (14 << 16) | (1 << 8) | 0)
AudioSource = FFMS_CreateAudioSource(FileNameShort.utf8_str(), TrackNumber, Index, -1, &ErrInfo);
AudioSource = FFMS_CreateAudioSource(filename.c_str(), TrackNumber, Index, -1, &ErrInfo);
#else
AudioSource = FFMS_CreateAudioSource(FileNameShort.utf8_str(), TrackNumber, Index, &ErrInfo);
AudioSource = FFMS_CreateAudioSource(filename.c_str(), TrackNumber, Index, &ErrInfo);
#endif
FFMS_DestroyIndex(Index);
Index = NULL;
@ -199,7 +200,7 @@ Audio::~Audio() {
/// @brief Clean up
///
void FFmpegSourceAudioProvider::Close() {
void Audio::Close() {
if (AudioSource) FFMS_DestroyAudioSource(AudioSource);
#ifdef WIN32
if (COMInited)

View file

@ -29,12 +29,14 @@
#include <map>
#endif
#include "ffms_common.h"
namespace agi {
namespace ffms {
/// @class Audio
/// Audio file support.
class Audio {
class Audio : public FFmpegSourceProvider {
FFMS_AudioSource *AudioSource; ///< audio source object
bool COMInited; ///< COM initialization state
@ -44,6 +46,11 @@ class Audio {
void Close();
void LoadAudio(std::string filename);
int channels;
int64_t num_samples; // for one channel, ie. number of PCM frames
int sample_rate;
int bytes_per_sample;
Audio(std::string filename);
virtual ~Audio();

View file

@ -36,6 +36,7 @@
#include "ffms_video.h"
#include "libaegisub/media.h"
#include "libaegisub/util.h"
//#include "aegisub_endian.h"
//#include "compat.h"
@ -265,7 +266,7 @@ void Video::Close() {
/// @return
///
const media::AegiVideoFrame Video::GetFrame(int n) {
FrameNumber = mid(0, n, GetFrameCount() - 1);
FrameNumber = util::mid(0, n, GetFrameCount() - 1);
// decode frame
const FFMS_Frame *SrcFrame = FFMS_GetFrame(VideoSource, FrameNumber, &ErrInfo);

View file

@ -28,13 +28,14 @@
#include "libaegisub/media_video_frame.h"
#include "libaegisub/vfr.h"
#include "libaegisub/exception.h"
#include "ffms_common.h"
namespace agi {
namespace ffms {
/// @class FFmpegSourceVideoProvider
/// @brief Implements video loading through the FFMS library.
class Video {
class Video : public FFmpegSourceProvider {
private:
FFMS_VideoSource *VideoSource; /// video source object
const FFMS_VideoProperties *VideoInfo; /// video properties