1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-05 22:21:15 +01:00
Files
audacity/src/ondemand/ODDecodeFFmpegTask.h
mchinen 5a5957b422 Add seek support to OD-based FFmpeg import.
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
2010-07-05 14:38:47 +00:00

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