mirror of
https://github.com/cookiengineer/audacity
synced 2026-03-05 22:21:15 +01:00
Also some minor refactoring. This feature works with mp3 right now - may work on other formats, but that will be a seperate commit. It is not enabled so most of the changes won't even be compiled, and those that do won't be run. To enable it uncommment the EXPERIMENTAL_ODFFMPEG def in Experimental.h
48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
/*
|
|
* ODDecodeFFmpegTask.h
|
|
* Audacity
|
|
*
|
|
* Created by apple on 3/8/10.
|
|
* Copyright 2010 __MyCompanyName__. All rights reserved.
|
|
*
|
|
*/
|
|
#include "../Experimental.h"
|
|
|
|
#ifdef EXPERIMENTAL_OD_FFMPEG
|
|
|
|
#ifndef __ODDECODEFFMPEGTASK__
|
|
#define __ODDECODEFFMPEGTASK__
|
|
|
|
#include <vector>
|
|
#include "ODDecodeTask.h"
|
|
#include "ODTaskThread.h"
|
|
|
|
class ODFileDecoder;
|
|
class WaveTrack;
|
|
/// A class representing a modular task to be used with the On-Demand structures.
|
|
class ODDecodeFFmpegTask:public ODDecodeTask
|
|
{
|
|
public:
|
|
|
|
/// Constructs an ODTask
|
|
ODDecodeFFmpegTask(void* scs,int numStreams, WaveTrack*** channels, void* formatContext, int streamIndex);
|
|
virtual ~ODDecodeFFmpegTask();
|
|
|
|
virtual ODTask* Clone();
|
|
///Creates an ODFileDecoder that decodes a file of filetype the subclass handles.
|
|
virtual ODFileDecoder* CreateFileDecoder(const wxString & fileName);
|
|
|
|
///Lets other classes know that this class handles the ffmpeg type
|
|
///Subclasses should override to return respective type.
|
|
virtual unsigned int GetODType(){return eODFFMPEG;}
|
|
|
|
protected:
|
|
WaveTrack*** mChannels;
|
|
int mNumStreams;
|
|
void* mScs;
|
|
void* mFormatContext;
|
|
int mStreamIndex;
|
|
};
|
|
#endif //__ODDECODEFFMPEGTASK__
|
|
|
|
#endif //EXPERIMENTAL_OD_FFMPEG
|