From 04a4f68b4132d750ec63adb79426652ee415ece8 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Mon, 22 Sep 2014 17:38:38 +0200 Subject: [PATCH 1/6] ProgressListener: add IProgress class * Base class of all possible Progress. * ProgressListener inherits this base class. * Add documentation. * Swig: add feature "director" to the base class. --- src/AvTranscoder/File/InputFile.cpp | 4 +-- src/AvTranscoder/File/InputFile.hpp | 4 +-- .../Metadatas/VideoStreamProperties.hpp | 4 +-- src/AvTranscoder/ProgressListener.hpp | 32 ++++++++++++++++--- src/AvTranscoder/ProgressListener.i | 6 ++-- src/AvTranscoder/Transcoder/Transcoder.cpp | 2 +- src/AvTranscoder/Transcoder/Transcoder.hpp | 2 +- 7 files changed, 38 insertions(+), 16 deletions(-) diff --git a/src/AvTranscoder/File/InputFile.cpp b/src/AvTranscoder/File/InputFile.cpp index c7770087..7e41deb5 100644 --- a/src/AvTranscoder/File/InputFile.cpp +++ b/src/AvTranscoder/File/InputFile.cpp @@ -64,7 +64,7 @@ InputFile::~InputFile() } } -InputFile& InputFile::analyse( ProgressListener& progress, const EAnalyseLevel level ) +InputFile& InputFile::analyse( IProgress& progress, const EAnalyseLevel level ) { assert( _formatContext != NULL ); @@ -134,7 +134,7 @@ InputFile& InputFile::analyse( ProgressListener& progress, const EAnalyseLevel l return *this; } -Properties InputFile::analyseFile( const std::string& filename, ProgressListener& progress, const EAnalyseLevel level ) +Properties InputFile::analyseFile( const std::string& filename, IProgress& progress, const EAnalyseLevel level ) { InputFile file( filename ); file.analyse( progress, level ); diff --git a/src/AvTranscoder/File/InputFile.hpp b/src/AvTranscoder/File/InputFile.hpp index d7e56d81..1b99dc53 100644 --- a/src/AvTranscoder/File/InputFile.hpp +++ b/src/AvTranscoder/File/InputFile.hpp @@ -50,7 +50,7 @@ class AvExport InputFile * call this function before getProperties(). * @param progress callback to get analysis progression **/ - InputFile& analyse( ProgressListener& progress, const EAnalyseLevel level = eAnalyseLevelFull ); + InputFile& analyse( IProgress& progress, const EAnalyseLevel level = eAnalyseLevelFull ); /** * @brief Return media properties on the current InputFile. @@ -67,7 +67,7 @@ class AvExport InputFile * @param progress callback to get analysis progression * @return structure of media metadatas **/ - static Properties analyseFile( const std::string& filename, ProgressListener& progress, const EAnalyseLevel level = eAnalyseLevelFull ); + static Properties analyseFile( const std::string& filename, IProgress& progress, const EAnalyseLevel level = eAnalyseLevelFull ); /** * @brief Get stream type: video, audio, subtitle, etc. diff --git a/src/AvTranscoder/Metadatas/VideoStreamProperties.hpp b/src/AvTranscoder/Metadatas/VideoStreamProperties.hpp index 4d3b3683..a4c25d00 100644 --- a/src/AvTranscoder/Metadatas/VideoStreamProperties.hpp +++ b/src/AvTranscoder/Metadatas/VideoStreamProperties.hpp @@ -33,7 +33,7 @@ void getGopProperties( AVCodecContext* codecContext, AVCodec* codec, const int videoStreamIndex, - ProgressListener& progress + IProgress& progress ) { AVPacket pkt; @@ -108,7 +108,7 @@ std::string makeTimecodeMpegToString( uint32_t tc25bit ) VideoProperties videoStreamInfo( AVFormatContext* formatContext, const size_t videoStreamIndex, - ProgressListener& progress, + IProgress& progress, const InputFile::EAnalyseLevel level ) { diff --git a/src/AvTranscoder/ProgressListener.hpp b/src/AvTranscoder/ProgressListener.hpp index bb01eab3..b3c6e1d3 100644 --- a/src/AvTranscoder/ProgressListener.hpp +++ b/src/AvTranscoder/ProgressListener.hpp @@ -7,22 +7,44 @@ namespace avtranscoder { +/** + * @brief Indicate the state of a process. + */ enum EJobStatus { eJobStatusContinue = 0, eJobStatusCancel }; -class ProgressListener +/** + * @brief Base class of Progress. + * Inherit this class to have your own way to manage a progress bar. + * You can inherit this class in C++, but also in python / Java binding. + */ +class IProgress { public: - ProgressListener() - {} + virtual ~IProgress() {}; + + /** + * @brief Manage the progress. + * @param processedDuration: what is processed + * @param programDuration: what you need to process (the totality) + * @return eJobStatusContinue if we continue the progress or eJobStatusCancel to stop it. + */ + virtual EJobStatus progress( const double processedDuration, const double programDuration ) = 0; +}; - virtual ~ProgressListener() +/** + * @brief Implementation of IProgress, to display a progress bar in console. + */ +class ProgressListener: public IProgress +{ +public: + ~ProgressListener() {} - virtual EJobStatus progress( const double processedDuration, const double programDuration ) + EJobStatus progress( const double processedDuration, const double programDuration ) { std::string progress( 80, '-' ); std::string done( 80.0 * processedDuration / programDuration, '#' ); diff --git a/src/AvTranscoder/ProgressListener.i b/src/AvTranscoder/ProgressListener.i index 9b3ebafe..a8780946 100644 --- a/src/AvTranscoder/ProgressListener.i +++ b/src/AvTranscoder/ProgressListener.i @@ -5,7 +5,7 @@ #include %} -/* turn on director wrapping ProgressListener */ -%feature("director") ProgressListener; +/* turn on director wrapping for IProgress */ +%feature("director") IProgress; -%include \ No newline at end of file +%include diff --git a/src/AvTranscoder/Transcoder/Transcoder.cpp b/src/AvTranscoder/Transcoder/Transcoder.cpp index d6ca5b11..72de1446 100644 --- a/src/AvTranscoder/Transcoder/Transcoder.cpp +++ b/src/AvTranscoder/Transcoder/Transcoder.cpp @@ -238,7 +238,7 @@ bool Transcoder::processFrame() return true; } -void Transcoder::process( ProgressListener& progress ) +void Transcoder::process( IProgress& progress ) { size_t frame = 0; diff --git a/src/AvTranscoder/Transcoder/Transcoder.hpp b/src/AvTranscoder/Transcoder/Transcoder.hpp index f9e67199..eeb089dc 100644 --- a/src/AvTranscoder/Transcoder/Transcoder.hpp +++ b/src/AvTranscoder/Transcoder/Transcoder.hpp @@ -111,7 +111,7 @@ class Transcoder * @brief Process all the streams, and ended the process depending on the transcode politic. * @param progress */ - void process( ProgressListener& progress ); + void process( IProgress& progress ); /** * @brief Set the transcodage politic. From 6ebc09300872401f9f635ece85dea98c39c8adf2 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Mon, 22 Sep 2014 17:40:44 +0200 Subject: [PATCH 2/6] ProgressListener: rename ProgressListener to ConsoleProgress the class implements the IProgress, to display a progress bar in console. --- app/cpp/avMeta/avMeta.cpp | 2 +- app/cpp/avTranscoder/avTranscoder.cpp | 2 +- app/cpp/avplay/AvReader.hpp | 2 +- app/cpp/genericProcessor/genericProcessor.cpp | 2 +- src/AvTranscoder/ProgressListener.hpp | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/cpp/avMeta/avMeta.cpp b/app/cpp/avMeta/avMeta.cpp index 58492337..548f7315 100644 --- a/app/cpp/avMeta/avMeta.cpp +++ b/app/cpp/avMeta/avMeta.cpp @@ -11,7 +11,7 @@ int main( int argc, char** argv ) return( -1 ); } - avtranscoder::ProgressListener p; + avtranscoder::ConsoleProgress p; avtranscoder::InputFile input( argv[1] ); input.analyse( p, avtranscoder::InputFile::eAnalyseLevelFull ); diff --git a/app/cpp/avTranscoder/avTranscoder.cpp b/app/cpp/avTranscoder/avTranscoder.cpp index 66d7ec2c..2a4a3856 100644 --- a/app/cpp/avTranscoder/avTranscoder.cpp +++ b/app/cpp/avTranscoder/avTranscoder.cpp @@ -17,7 +17,7 @@ void transcodeVideo( const char* inputfilename, const char* outputFilename ) // av_log_set_level( AV_LOG_DEBUG ); Profile profile( true ); - ProgressListener p; + ConsoleProgress p; InputFile input( inputfilename ); input.analyse( p ); diff --git a/app/cpp/avplay/AvReader.hpp b/app/cpp/avplay/AvReader.hpp index 82f0fb3b..69c970b6 100644 --- a/app/cpp/avplay/AvReader.hpp +++ b/app/cpp/avplay/AvReader.hpp @@ -18,7 +18,7 @@ class AvReader : public Reader , _sourceImage( NULL ) , _imageToDisplay( NULL ) { - avtranscoder::ProgressListener p; + avtranscoder::ConsoleProgress p; _inputFile.analyse( p ); _videoStream = _inputFile.getProperties().videoStreams.at(0).streamId; diff --git a/app/cpp/genericProcessor/genericProcessor.cpp b/app/cpp/genericProcessor/genericProcessor.cpp index 734d0751..6634de47 100644 --- a/app/cpp/genericProcessor/genericProcessor.cpp +++ b/app/cpp/genericProcessor/genericProcessor.cpp @@ -122,7 +122,7 @@ int main( int argc, char** argv ) if( verbose ) std::cout << "start Transcode" << std::endl; - avtranscoder::ProgressListener progress; + avtranscoder::ConsoleProgress progress; // video re-wrapping or transcoding if necessary transcoder.process( progress ); diff --git a/src/AvTranscoder/ProgressListener.hpp b/src/AvTranscoder/ProgressListener.hpp index b3c6e1d3..4d6716aa 100644 --- a/src/AvTranscoder/ProgressListener.hpp +++ b/src/AvTranscoder/ProgressListener.hpp @@ -38,10 +38,10 @@ class IProgress /** * @brief Implementation of IProgress, to display a progress bar in console. */ -class ProgressListener: public IProgress +class ConsoleProgress : public IProgress { public: - ~ProgressListener() + ~ConsoleProgress() {} EJobStatus progress( const double processedDuration, const double programDuration ) From 1714ab17f93a1f65f33c0c800e5ad726a255f925 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Tue, 23 Sep 2014 18:31:56 +0200 Subject: [PATCH 3/6] ProgressListener: add NoDisplayProgress class * Manage cases when we need an IProgress but don't care of a progress bar. * Use it in avMeta app: we want the file infos, but don't care of the progress bar. --- app/cpp/avMeta/avMeta.cpp | 2 +- src/AvTranscoder/ProgressListener.hpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/cpp/avMeta/avMeta.cpp b/app/cpp/avMeta/avMeta.cpp index 548f7315..3d753b20 100644 --- a/app/cpp/avMeta/avMeta.cpp +++ b/app/cpp/avMeta/avMeta.cpp @@ -11,7 +11,7 @@ int main( int argc, char** argv ) return( -1 ); } - avtranscoder::ConsoleProgress p; + avtranscoder::NoDisplayProgress p; avtranscoder::InputFile input( argv[1] ); input.analyse( p, avtranscoder::InputFile::eAnalyseLevelFull ); diff --git a/src/AvTranscoder/ProgressListener.hpp b/src/AvTranscoder/ProgressListener.hpp index 4d6716aa..73ab6ee8 100644 --- a/src/AvTranscoder/ProgressListener.hpp +++ b/src/AvTranscoder/ProgressListener.hpp @@ -59,6 +59,21 @@ class ConsoleProgress : public IProgress } }; +/** + * @brief Implementation of IProgress, to manage cases when we need an IProgress but don't care of a progress bar. + */ +class NoDisplayProgress : public IProgress +{ +public: + ~NoDisplayProgress() + {} + + EJobStatus progress( const double processedDuration, const double programDuration ) + { + return eJobStatusContinue; + } +}; + } #endif \ No newline at end of file From fb20383b90a156632c44aad0e57d4236d9384d8e Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Wed, 24 Sep 2014 10:35:49 +0200 Subject: [PATCH 4/6] ProgressListener: separate interface from implementation * Create ProgressListener.cpp. * Add include to iostream in Transcoder. --- src/AvTranscoder/ProgressListener.cpp | 37 ++++++++++++++++++++++ src/AvTranscoder/ProgressListener.hpp | 30 ++++-------------- src/AvTranscoder/Transcoder/Transcoder.cpp | 2 ++ 3 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 src/AvTranscoder/ProgressListener.cpp diff --git a/src/AvTranscoder/ProgressListener.cpp b/src/AvTranscoder/ProgressListener.cpp new file mode 100644 index 00000000..8ca3a8cb --- /dev/null +++ b/src/AvTranscoder/ProgressListener.cpp @@ -0,0 +1,37 @@ +#include "ProgressListener.hpp" + +#include +#include + +namespace avtranscoder +{ + +IProgress::~IProgress() +{} + +ConsoleProgress::~ConsoleProgress() +{} + +EJobStatus ConsoleProgress::progress( const double processedDuration, const double programDuration ) +{ + std::string progress( 80, '-' ); + std::string done( 80.0 * processedDuration / programDuration, '#' ); + progress.replace( 0, done.size(), done ); + + std::cout << std::setprecision(2) << std::fixed << "\r[" << progress << "] " << processedDuration << "/" << programDuration << std::flush; + + // if( processedFrames >= 100 ) + // return avtranscoder::eJobStatusCancel; + + return eJobStatusContinue; +} + +NoDisplayProgress::~NoDisplayProgress() +{} + +EJobStatus NoDisplayProgress::progress( const double processedDuration, const double programDuration ) +{ + return eJobStatusContinue; +} + +} diff --git a/src/AvTranscoder/ProgressListener.hpp b/src/AvTranscoder/ProgressListener.hpp index 73ab6ee8..bba80e7d 100644 --- a/src/AvTranscoder/ProgressListener.hpp +++ b/src/AvTranscoder/ProgressListener.hpp @@ -1,8 +1,9 @@ #ifndef _AV_TRANSCODER_PROGRESS_LISTENER_HPP_ #define _AV_TRANSCODER_PROGRESS_LISTENER_HPP_ +#include + #include -#include namespace avtranscoder { @@ -24,7 +25,7 @@ enum EJobStatus class IProgress { public: - virtual ~IProgress() {}; + virtual ~IProgress() = 0; /** * @brief Manage the progress. @@ -41,22 +42,9 @@ class IProgress class ConsoleProgress : public IProgress { public: - ~ConsoleProgress() - {} - - EJobStatus progress( const double processedDuration, const double programDuration ) - { - std::string progress( 80, '-' ); - std::string done( 80.0 * processedDuration / programDuration, '#' ); - progress.replace( 0, done.size(), done ); - - std::cout << std::setprecision(2) << std::fixed << "\r[" << progress << "] " << processedDuration << "/" << programDuration << std::flush; - - // if( processedFrames >= 100 ) - // return avtranscoder::eJobStatusCancel; + ~ConsoleProgress(); - return eJobStatusContinue; - } + EJobStatus progress( const double processedDuration, const double programDuration ); }; /** @@ -65,13 +53,9 @@ class ConsoleProgress : public IProgress class NoDisplayProgress : public IProgress { public: - ~NoDisplayProgress() - {} + ~NoDisplayProgress(); - EJobStatus progress( const double processedDuration, const double programDuration ) - { - return eJobStatusContinue; - } + EJobStatus progress( const double processedDuration, const double programDuration ); }; } diff --git a/src/AvTranscoder/Transcoder/Transcoder.cpp b/src/AvTranscoder/Transcoder/Transcoder.cpp index 72de1446..2ada4411 100644 --- a/src/AvTranscoder/Transcoder/Transcoder.cpp +++ b/src/AvTranscoder/Transcoder/Transcoder.cpp @@ -1,5 +1,7 @@ #include "Transcoder.hpp" + #include +#include namespace avtranscoder { From 2ca297c2807d980f56b269684db8afed3c1ffc0e Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Wed, 24 Sep 2014 10:41:00 +0200 Subject: [PATCH 5/6] Add progress folder * Contains all files related to the progress. * Also contains corresponding swig interface file. --- src/AvTranscoder/File/InputFile.hpp | 2 +- src/AvTranscoder/Transcoder/Transcoder.hpp | 2 +- src/AvTranscoder/avTranscoder.i | 2 +- src/AvTranscoder/{ => progress}/ProgressListener.cpp | 0 src/AvTranscoder/{ => progress}/ProgressListener.hpp | 0 src/AvTranscoder/{ => progress}/ProgressListener.i | 4 ++-- 6 files changed, 5 insertions(+), 5 deletions(-) rename src/AvTranscoder/{ => progress}/ProgressListener.cpp (100%) rename src/AvTranscoder/{ => progress}/ProgressListener.hpp (100%) rename src/AvTranscoder/{ => progress}/ProgressListener.i (53%) diff --git a/src/AvTranscoder/File/InputFile.hpp b/src/AvTranscoder/File/InputFile.hpp index 1b99dc53..535a56d9 100644 --- a/src/AvTranscoder/File/InputFile.hpp +++ b/src/AvTranscoder/File/InputFile.hpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include diff --git a/src/AvTranscoder/Transcoder/Transcoder.hpp b/src/AvTranscoder/Transcoder/Transcoder.hpp index eeb089dc..673937bf 100644 --- a/src/AvTranscoder/Transcoder/Transcoder.hpp +++ b/src/AvTranscoder/Transcoder/Transcoder.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include diff --git a/src/AvTranscoder/avTranscoder.i b/src/AvTranscoder/avTranscoder.i index 2da7e36e..33b6ee85 100644 --- a/src/AvTranscoder/avTranscoder.i +++ b/src/AvTranscoder/avTranscoder.i @@ -50,7 +50,7 @@ #include %} -%include "AvTranscoder/ProgressListener.i" +%include "AvTranscoder/progress/ProgressListener.i" namespace std { %template(IntPair) pair< size_t, size_t >; diff --git a/src/AvTranscoder/ProgressListener.cpp b/src/AvTranscoder/progress/ProgressListener.cpp similarity index 100% rename from src/AvTranscoder/ProgressListener.cpp rename to src/AvTranscoder/progress/ProgressListener.cpp diff --git a/src/AvTranscoder/ProgressListener.hpp b/src/AvTranscoder/progress/ProgressListener.hpp similarity index 100% rename from src/AvTranscoder/ProgressListener.hpp rename to src/AvTranscoder/progress/ProgressListener.hpp diff --git a/src/AvTranscoder/ProgressListener.i b/src/AvTranscoder/progress/ProgressListener.i similarity index 53% rename from src/AvTranscoder/ProgressListener.i rename to src/AvTranscoder/progress/ProgressListener.i index a8780946..d2217ceb 100644 --- a/src/AvTranscoder/ProgressListener.i +++ b/src/AvTranscoder/progress/ProgressListener.i @@ -2,10 +2,10 @@ %{ - #include + #include %} /* turn on director wrapping for IProgress */ %feature("director") IProgress; -%include +%include From 6f603c1e5543fd77d66483c9e62d9682e0f37b00 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Wed, 24 Sep 2014 10:52:16 +0200 Subject: [PATCH 6/6] Progress: split into one class per file * 3 classes / files: IProgress, ConsoleProgress, NoDisplayProgress. * Add a cpp file just for ConsoleProgress (the implementation is more 'complicated' than the others). --- app/cpp/avMeta/avMeta.cpp | 1 + app/cpp/avTranscoder/avTranscoder.cpp | 1 + app/cpp/avplay/AvReader.hpp | 1 + app/cpp/genericProcessor/genericProcessor.cpp | 2 +- src/AvTranscoder/File/InputFile.hpp | 2 +- src/AvTranscoder/Transcoder/Transcoder.hpp | 2 +- src/AvTranscoder/avTranscoder.i | 2 +- ...ogressListener.cpp => ConsoleProgress.cpp} | 16 ++--------- src/AvTranscoder/progress/ConsoleProgress.hpp | 22 +++++++++++++++ .../{ProgressListener.hpp => IProgress.hpp} | 28 ++----------------- .../progress/NoDisplayProgress.hpp | 26 +++++++++++++++++ src/AvTranscoder/progress/ProgressListener.i | 11 -------- src/AvTranscoder/progress/progress.i | 15 ++++++++++ 13 files changed, 76 insertions(+), 53 deletions(-) rename src/AvTranscoder/progress/{ProgressListener.cpp => ConsoleProgress.cpp} (71%) create mode 100644 src/AvTranscoder/progress/ConsoleProgress.hpp rename src/AvTranscoder/progress/{ProgressListener.hpp => IProgress.hpp} (54%) create mode 100644 src/AvTranscoder/progress/NoDisplayProgress.hpp delete mode 100644 src/AvTranscoder/progress/ProgressListener.i create mode 100644 src/AvTranscoder/progress/progress.i diff --git a/app/cpp/avMeta/avMeta.cpp b/app/cpp/avMeta/avMeta.cpp index 3d753b20..39149928 100644 --- a/app/cpp/avMeta/avMeta.cpp +++ b/app/cpp/avMeta/avMeta.cpp @@ -1,5 +1,6 @@ #include #include +#include #include diff --git a/app/cpp/avTranscoder/avTranscoder.cpp b/app/cpp/avTranscoder/avTranscoder.cpp index 2a4a3856..dc178c10 100644 --- a/app/cpp/avTranscoder/avTranscoder.cpp +++ b/app/cpp/avTranscoder/avTranscoder.cpp @@ -4,6 +4,7 @@ #include #include +#include #include #include #include diff --git a/app/cpp/avplay/AvReader.hpp b/app/cpp/avplay/AvReader.hpp index 69c970b6..448fd410 100644 --- a/app/cpp/avplay/AvReader.hpp +++ b/app/cpp/avplay/AvReader.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "Reader.hpp" diff --git a/app/cpp/genericProcessor/genericProcessor.cpp b/app/cpp/genericProcessor/genericProcessor.cpp index 6634de47..8746bd72 100644 --- a/app/cpp/genericProcessor/genericProcessor.cpp +++ b/app/cpp/genericProcessor/genericProcessor.cpp @@ -1,4 +1,4 @@ - +#include #include #include diff --git a/src/AvTranscoder/File/InputFile.hpp b/src/AvTranscoder/File/InputFile.hpp index 535a56d9..be6e4dd4 100644 --- a/src/AvTranscoder/File/InputFile.hpp +++ b/src/AvTranscoder/File/InputFile.hpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include diff --git a/src/AvTranscoder/Transcoder/Transcoder.hpp b/src/AvTranscoder/Transcoder/Transcoder.hpp index 673937bf..64ab56bb 100644 --- a/src/AvTranscoder/Transcoder/Transcoder.hpp +++ b/src/AvTranscoder/Transcoder/Transcoder.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include diff --git a/src/AvTranscoder/avTranscoder.i b/src/AvTranscoder/avTranscoder.i index 33b6ee85..fa0c4a35 100644 --- a/src/AvTranscoder/avTranscoder.i +++ b/src/AvTranscoder/avTranscoder.i @@ -50,7 +50,7 @@ #include %} -%include "AvTranscoder/progress/ProgressListener.i" +%include "AvTranscoder/progress/progress.i" namespace std { %template(IntPair) pair< size_t, size_t >; diff --git a/src/AvTranscoder/progress/ProgressListener.cpp b/src/AvTranscoder/progress/ConsoleProgress.cpp similarity index 71% rename from src/AvTranscoder/progress/ProgressListener.cpp rename to src/AvTranscoder/progress/ConsoleProgress.cpp index 8ca3a8cb..0af46498 100644 --- a/src/AvTranscoder/progress/ProgressListener.cpp +++ b/src/AvTranscoder/progress/ConsoleProgress.cpp @@ -1,4 +1,4 @@ -#include "ProgressListener.hpp" +#include "ConsoleProgress.hpp" #include #include @@ -6,11 +6,9 @@ namespace avtranscoder { -IProgress::~IProgress() -{} - ConsoleProgress::~ConsoleProgress() -{} +{ +} EJobStatus ConsoleProgress::progress( const double processedDuration, const double programDuration ) { @@ -26,12 +24,4 @@ EJobStatus ConsoleProgress::progress( const double processedDuration, const doub return eJobStatusContinue; } -NoDisplayProgress::~NoDisplayProgress() -{} - -EJobStatus NoDisplayProgress::progress( const double processedDuration, const double programDuration ) -{ - return eJobStatusContinue; -} - } diff --git a/src/AvTranscoder/progress/ConsoleProgress.hpp b/src/AvTranscoder/progress/ConsoleProgress.hpp new file mode 100644 index 00000000..6ce2e2ee --- /dev/null +++ b/src/AvTranscoder/progress/ConsoleProgress.hpp @@ -0,0 +1,22 @@ +#ifndef _AV_TRANSCODER_CONSOLE_PROGRESS_HPP_ +#define _AV_TRANSCODER_CONSOLE_PROGRESS_HPP_ + +#include "IProgress.hpp" + +namespace avtranscoder +{ + +/** + * @brief Implementation of IProgress, to display a progress bar in console. + */ +class ConsoleProgress : public IProgress +{ +public: + ~ConsoleProgress(); + + EJobStatus progress( const double processedDuration, const double programDuration ); +}; + +} + +#endif diff --git a/src/AvTranscoder/progress/ProgressListener.hpp b/src/AvTranscoder/progress/IProgress.hpp similarity index 54% rename from src/AvTranscoder/progress/ProgressListener.hpp rename to src/AvTranscoder/progress/IProgress.hpp index bba80e7d..0b8a8db1 100644 --- a/src/AvTranscoder/progress/ProgressListener.hpp +++ b/src/AvTranscoder/progress/IProgress.hpp @@ -1,5 +1,5 @@ -#ifndef _AV_TRANSCODER_PROGRESS_LISTENER_HPP_ -#define _AV_TRANSCODER_PROGRESS_LISTENER_HPP_ +#ifndef _AV_TRANSCODER_IPROGRESS_LISTENER_HPP_ +#define _AV_TRANSCODER_IPROGRESS_LISTENER_HPP_ #include @@ -25,7 +25,7 @@ enum EJobStatus class IProgress { public: - virtual ~IProgress() = 0; + virtual ~IProgress() {}; /** * @brief Manage the progress. @@ -36,28 +36,6 @@ class IProgress virtual EJobStatus progress( const double processedDuration, const double programDuration ) = 0; }; -/** - * @brief Implementation of IProgress, to display a progress bar in console. - */ -class ConsoleProgress : public IProgress -{ -public: - ~ConsoleProgress(); - - EJobStatus progress( const double processedDuration, const double programDuration ); -}; - -/** - * @brief Implementation of IProgress, to manage cases when we need an IProgress but don't care of a progress bar. - */ -class NoDisplayProgress : public IProgress -{ -public: - ~NoDisplayProgress(); - - EJobStatus progress( const double processedDuration, const double programDuration ); -}; - } #endif \ No newline at end of file diff --git a/src/AvTranscoder/progress/NoDisplayProgress.hpp b/src/AvTranscoder/progress/NoDisplayProgress.hpp new file mode 100644 index 00000000..2a4d684c --- /dev/null +++ b/src/AvTranscoder/progress/NoDisplayProgress.hpp @@ -0,0 +1,26 @@ +#ifndef _AV_TRANSCODER_NO_DISPLAY_PROGRESS_HPP_ +#define _AV_TRANSCODER_NO_DISPLAY_PROGRESS_HPP_ + +#include "IProgress.hpp" + +namespace avtranscoder +{ + +/** + * @brief Implementation of IProgress, to manage cases when we need an IProgress but don't care of a progress bar. + */ +class NoDisplayProgress : public IProgress +{ +public: + ~NoDisplayProgress() + {} + + EJobStatus progress( const double processedDuration, const double programDuration ) + { + return eJobStatusContinue; + } +}; + +} + +#endif \ No newline at end of file diff --git a/src/AvTranscoder/progress/ProgressListener.i b/src/AvTranscoder/progress/ProgressListener.i deleted file mode 100644 index d2217ceb..00000000 --- a/src/AvTranscoder/progress/ProgressListener.i +++ /dev/null @@ -1,11 +0,0 @@ -%module(directors="1") AvTranscoder - - -%{ - #include -%} - -/* turn on director wrapping for IProgress */ -%feature("director") IProgress; - -%include diff --git a/src/AvTranscoder/progress/progress.i b/src/AvTranscoder/progress/progress.i new file mode 100644 index 00000000..13d1b666 --- /dev/null +++ b/src/AvTranscoder/progress/progress.i @@ -0,0 +1,15 @@ +%module(directors="1") AvTranscoder + + +%{ + #include + #include + #include +%} + +/* turn on director wrapping for IProgress */ +%feature("director") IProgress; + +%include +%include +%include