diff --git a/CMakeLists.txt b/CMakeLists.txt index 51e14270..b5911127 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,9 @@ set(CMAKE_VERBOSE_MAKEFILE OFF) if(NOT WIN32) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -fPIC -pg -g") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fPIC -O3") +else() + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") endif() diff --git a/app/avInfo/CMakeLists.txt b/app/avInfo/CMakeLists.txt index cf437fa1..a79cf781 100644 --- a/app/avInfo/CMakeLists.txt +++ b/app/avInfo/CMakeLists.txt @@ -11,11 +11,18 @@ set_target_properties(avinfo PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avinfo avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avinfo.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avinfo" "${CMAKE_CURRENT_BINARY_DIR}/avinfo-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avinfo" "${CMAKE_CURRENT_BINARY_DIR}/avinfo-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/avinfo.man RENAME "avinfo.1" diff --git a/app/avMeta/CMakeLists.txt b/app/avMeta/CMakeLists.txt index ea01da99..3f888824 100644 --- a/app/avMeta/CMakeLists.txt +++ b/app/avMeta/CMakeLists.txt @@ -11,11 +11,18 @@ set_target_properties(avmeta PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avmeta avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avmeta.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avmeta" "${CMAKE_CURRENT_BINARY_DIR}/avmeta-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avmeta" "${CMAKE_CURRENT_BINARY_DIR}/avmeta-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/avmeta.man RENAME "avmeta.1" diff --git a/app/avTranscoder/CMakeLists.txt b/app/avTranscoder/CMakeLists.txt index f312fc2e..b6b1fc0a 100644 --- a/app/avTranscoder/CMakeLists.txt +++ b/app/avTranscoder/CMakeLists.txt @@ -11,11 +11,18 @@ set_target_properties(avtranscoder PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avtranscoder avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avtranscoder.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avtranscoder" "${CMAKE_CURRENT_BINARY_DIR}/avtranscoder-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avtranscoder" "${CMAKE_CURRENT_BINARY_DIR}/avtranscoder-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/av++.man RENAME av++.1 diff --git a/app/avplay/CMakeLists.txt b/app/avplay/CMakeLists.txt index 2af5cf36..6236ae47 100644 --- a/app/avplay/CMakeLists.txt +++ b/app/avplay/CMakeLists.txt @@ -13,26 +13,38 @@ endif() # Check GLUT find_package(GLUT) -if(NOT GLUT_FOUND) + +if(NOT GLUT_Xi_LIBRARY OR NOT GLUT_Xmu_LIBRARY) + set(GLUT_FOUND FALSE) +endif() + +if(NOT GLUT_FOUND) message("GLUT not found, will not build avplay app.") return() endif() # Build app include_directories(${AVTRANSCODER_SRC_PATH} ${FFMPEG_INCLUDE_DIR}) -include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} ) +include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIR} ) file(GLOB AVPLAY_SRC_FILES "*.cpp" "*.hpp") add_executable(avplay ${AVPLAY_SRC_FILES}) set_target_properties(avplay PROPERTIES VERSION ${AVTRANSCODER_VERSION}) -target_link_libraries(avplay avtranscoder-shared ${OPENGL_LIBRARIES} ${GLUT_LIBRARY}) +target_link_libraries(avplay avtranscoder-shared ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avplay.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avplay" "${CMAKE_CURRENT_BINARY_DIR}/avplay-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avplay" "${CMAKE_CURRENT_BINARY_DIR}/avplay-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/avplayer.man RENAME avplayer.1 diff --git a/app/genericProcessor/CMakeLists.txt b/app/genericProcessor/CMakeLists.txt index 6a1fe4fe..a673e03c 100644 --- a/app/genericProcessor/CMakeLists.txt +++ b/app/genericProcessor/CMakeLists.txt @@ -11,11 +11,18 @@ set_target_properties(avprocessor PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avprocessor avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avprocessor.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avprocessor" "${CMAKE_CURRENT_BINARY_DIR}/avprocessor-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avprocessor" "${CMAKE_CURRENT_BINARY_DIR}/avprocessor-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/avprocessor.man RENAME avprocessor.1 diff --git a/app/optionChecker/CMakeLists.txt b/app/optionChecker/CMakeLists.txt index 0372fb90..ca1d20a0 100644 --- a/app/optionChecker/CMakeLists.txt +++ b/app/optionChecker/CMakeLists.txt @@ -7,14 +7,26 @@ include(AvTranscoderMacros) # Build app include_directories(${AVTRANSCODER_SRC_PATH} ${FFMPEG_INCLUDE_DIR}) # Add C++11 flag -set(CMAKE_CXX_FLAGS "-std=c++0x") +if(NOT WIN32) + set(CMAKE_CXX_FLAGS "-std=c++0x") +elseif(NOT MSVC12) + message("C++11 not supported, will not build avOptionChecker app.") + return() +endif() + add_executable(avoptionchecker optionChecker.cpp) set_target_properties(avoptionchecker PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avoptionchecker avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avoptionchecker.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avoptionchecker" "${CMAKE_CURRENT_BINARY_DIR}/avoptionchecker-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avoptionchecker" "${CMAKE_CURRENT_BINARY_DIR}/avoptionchecker-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) diff --git a/app/presetChecker/CMakeLists.txt b/app/presetChecker/CMakeLists.txt index 763c6031..d179f514 100644 --- a/app/presetChecker/CMakeLists.txt +++ b/app/presetChecker/CMakeLists.txt @@ -7,17 +7,30 @@ include(AvTranscoderMacros) # Build app include_directories(${AVTRANSCODER_SRC_PATH} ${FFMPEG_INCLUDE_DIR}) # Add C++11 flag -set(CMAKE_CXX_FLAGS "-std=c++0x") +if(NOT WIN32) + set(CMAKE_CXX_FLAGS "-std=c++0x") +elseif(NOT MSVC12) + message("C++11 not supported, will not build avPresetChecker app.") + return() +endif() + add_executable(avpresetchecker presetChecker.cpp) set_target_properties(avpresetchecker PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avpresetchecker avtranscoder-shared) # Install app +if(WIN32) + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avpresetchecker.exe") +else() + set(BINARY_FILES "${CMAKE_CURRENT_BINARY_DIR}/avpresetchecker" "${CMAKE_CURRENT_BINARY_DIR}/avpresetchecker-${AVTRANSCODER_VERSION}") +endif() + install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/avpresetchecker" "${CMAKE_CURRENT_BINARY_DIR}/avpresetchecker-${AVTRANSCODER_VERSION}" + FILES ${BINARY_FILES} PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE DESTINATION "bin/" ) + install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/avprofiles.man RENAME avprofiles.1 diff --git a/app/presetChecker/presetChecker.cpp b/app/presetChecker/presetChecker.cpp index f89c0b8e..f921f25f 100644 --- a/app/presetChecker/presetChecker.cpp +++ b/app/presetChecker/presetChecker.cpp @@ -25,13 +25,13 @@ int main( int argc, char** argv ) std::cout << std::setw(35) << key.first << key.second << std::endl; try{ - if( profile.find( avtranscoder::Profile::avProfileType )->second == avtranscoder::Profile::avProfileTypeVideo ) + if( profile.find( avtranscoder::constants::avProfileType )->second == avtranscoder::constants::avProfileTypeVideo ) { avtranscoder::AvOutputVideo outputVideo; outputVideo.setProfile( profile, outputVideo.getVideoCodec().getVideoFrameDesc() ); } - if( profile.find( avtranscoder::Profile::avProfileType )->second == avtranscoder::Profile::avProfileTypeAudio ) + if( profile.find( avtranscoder::constants::avProfileType )->second == avtranscoder::constants::avProfileTypeAudio ) { avtranscoder::AvOutputAudio outputAudio; outputAudio.setProfile( profile, outputAudio.getAudioCodec().getFrameDesc() ); diff --git a/src/AvTranscoder/Library.hpp b/src/AvTranscoder/Library.hpp index d5f44de6..82219878 100644 --- a/src/AvTranscoder/Library.hpp +++ b/src/AvTranscoder/Library.hpp @@ -9,7 +9,7 @@ namespace avtranscoder { -class Library +class AvExport Library { public: Library( const std::string& name, const std::string& license, const size_t major, const size_t minor, const size_t release ); @@ -33,11 +33,11 @@ class Library typedef std::vector< Library > Libraries; -Libraries getLibraries(); +Libraries AvExport getLibraries(); -std::vector<std::string> getInputExtensions(); +std::vector<std::string> AvExport getInputExtensions(); -std::vector<std::string> getOutputExtensions(); +std::vector<std::string> AvExport getOutputExtensions(); } diff --git a/src/AvTranscoder/Profile.cpp b/src/AvTranscoder/Profile.cpp index d28df5e5..d9005b52 100644 --- a/src/AvTranscoder/Profile.cpp +++ b/src/AvTranscoder/Profile.cpp @@ -16,22 +16,6 @@ namespace avtranscoder { -const std::string Profile::avProfileIdentificator( "avProfile" ); -const std::string Profile::avProfileIdentificatorHuman( "avProfileLong" ); - -const std::string Profile::avProfileType( "avProfileType" ); -const std::string Profile::avProfileTypeFormat( "avProfileTypeFormat" ); -const std::string Profile::avProfileTypeVideo( "avProfileTypeVideo" ); -const std::string Profile::avProfileTypeAudio( "avProfileTypeAudio" ); - -const std::string Profile::avProfileFormat( "format" ); -const std::string Profile::avProfileCodec( "codec" ); -const std::string Profile::avProfilePixelFormat( "pix_fmt" ); -const std::string Profile::avProfileSampleFormat( "sample_fmt" ); -const std::string Profile::avProfileFrameRate( "r" ); -const std::string Profile::avProfileSampleRate( "ar" ); -const std::string Profile::avProfileChannel( "ac" ); - Profile::Profile( bool autoload ) { if( autoload ) @@ -55,11 +39,11 @@ void Profile::loadProfile( const std::string& avProfileFile ) } // check if profile contains required values if( - customProfile.count( avProfileIdentificator ) && - customProfile.count( avProfileIdentificatorHuman ) && - customProfile.count( avProfileType ) && - ( customProfile.find( avProfileType )->second == avProfileTypeVideo || - customProfile.find( avProfileType )->second == avProfileTypeAudio ) + customProfile.count( constants::avProfileIdentificator ) && + customProfile.count( constants::avProfileIdentificatorHuman ) && + customProfile.count( constants::avProfileType ) && + ( customProfile.find( constants::avProfileType )->second == constants::avProfileTypeVideo || + customProfile.find( constants::avProfileType )->second == constants::avProfileTypeAudio ) ) { _profiles.push_back( customProfile ); @@ -101,11 +85,11 @@ void Profile::loadProfiles( const std::string& avProfilesPath ) void Profile::update( const ProfileDesc& profile ) { - std::string profileId( profile.find( avProfileIdentificator )->second ); + std::string profileId( profile.find( constants::avProfileIdentificator )->second ); size_t profileIndex = 0; for( ProfilesDesc::iterator it = _profiles.begin(); it != _profiles.end(); ++it ) { - if( (*it).find( avProfileIdentificator )->second == profileId ) + if( (*it).find( constants::avProfileIdentificator )->second == profileId ) { _profiles.at( profileIndex ) = profile; return; @@ -127,7 +111,7 @@ Profile::ProfilesDesc Profile::getFormatProfiles() for( ProfilesDesc::iterator it = _profiles.begin(); it != _profiles.end(); ++it ) { - if( (*it).find( avProfileType )->second == avProfileTypeFormat ) + if( (*it).find( constants::avProfileType )->second == constants::avProfileTypeFormat ) profiles.push_back( *it ); } @@ -140,7 +124,7 @@ Profile::ProfilesDesc Profile::getVideoProfiles() for( ProfilesDesc::iterator it = _profiles.begin(); it != _profiles.end(); ++it ) { - if( (*it).find( avProfileType )->second == avProfileTypeVideo ) + if( (*it).find( constants::avProfileType )->second == constants::avProfileTypeVideo ) profiles.push_back( *it ); } @@ -153,7 +137,7 @@ Profile::ProfilesDesc Profile::getAudioProfiles() for( ProfilesDesc::iterator it = _profiles.begin(); it != _profiles.end(); ++it ) { - if( (*it).find( avProfileType )->second == avProfileTypeAudio ) + if( (*it).find( constants::avProfileType )->second == constants::avProfileTypeAudio ) profiles.push_back( *it ); } @@ -164,7 +148,7 @@ Profile::ProfileDesc& Profile::getProfile( const std::string& searchProfile ) { for( ProfilesDesc::iterator it = _profiles.begin(); it != _profiles.end(); ++it ) { - if( (*it).find( avProfileIdentificator )->second == searchProfile ) + if( (*it).find( constants::avProfileIdentificator )->second == searchProfile ) { return (*it); } diff --git a/src/AvTranscoder/Profile.hpp b/src/AvTranscoder/Profile.hpp index 3e5b62b8..af72a0c4 100644 --- a/src/AvTranscoder/Profile.hpp +++ b/src/AvTranscoder/Profile.hpp @@ -11,24 +11,27 @@ namespace avtranscoder { +namespace constants +{ + const std::string avProfileIdentificator = "avProfile"; + const std::string avProfileIdentificatorHuman = "avProfileLong"; + const std::string avProfileType = "avProfileType"; + const std::string avProfileTypeFormat = "avProfileTypeFormat"; + const std::string avProfileTypeVideo = "avProfileTypeVideo"; + const std::string avProfileTypeAudio = "avProfileTypeAudio"; + const std::string avProfileFormat = "format"; + const std::string avProfileCodec = "codec"; + const std::string avProfilePixelFormat = "pix_fmt"; + const std::string avProfileSampleFormat = "sample_fmt"; + const std::string avProfileFrameRate = "r"; + const std::string avProfileSampleRate = "ar"; + const std::string avProfileChannel = "ac"; +} + class AvExport Profile { public: - static const std::string avProfileIdentificator; - static const std::string avProfileIdentificatorHuman; - static const std::string avProfileType; - static const std::string avProfileTypeFormat; - static const std::string avProfileTypeVideo; - static const std::string avProfileTypeAudio; - - static const std::string avProfileFormat; - static const std::string avProfileCodec; - static const std::string avProfilePixelFormat; - static const std::string avProfileSampleFormat; - static const std::string avProfileFrameRate; - static const std::string avProfileSampleRate; - static const std::string avProfileChannel; public: // typedef std::pair< std::string, std::string > KeyDesc; @@ -53,7 +56,10 @@ class AvExport Profile private: ProfilesDesc _profiles; + }; + + } #endif \ No newline at end of file diff --git a/src/AvTranscoder/avTranscoder.i b/src/AvTranscoder/avTranscoder.i index fc6faa02..a99f3512 100644 --- a/src/AvTranscoder/avTranscoder.i +++ b/src/AvTranscoder/avTranscoder.i @@ -11,8 +11,6 @@ %include "AvTranscoder/swig/avExport.i" %{ -#include <AvTranscoder/common.hpp> - #include <AvTranscoder/Profile.hpp> #include <AvTranscoder/frame/Pixel.hpp> @@ -48,25 +46,6 @@ #include <AvTranscoder/transcoder/StreamTranscoder.hpp> #include <AvTranscoder/transcoder/Transcoder.hpp> - -/* initialize static const members for binding */ -namespace avtranscoder { -const std::string Profile::avProfileIdentificator = "avProfile"; -const std::string Profile::avProfileIdentificatorHuman = "avProfileLong"; - -const std::string Profile::avProfileType = "avProfileType"; -const std::string Profile::avProfileTypeFormat = "avProfileTypeFormat"; -const std::string Profile::avProfileTypeVideo = "avProfileTypeVideo"; -const std::string Profile::avProfileTypeAudio = "avProfileTypeAudio"; - -const std::string Profile::avProfileFormat = "format"; -const std::string Profile::avProfileCodec = "codec"; -const std::string Profile::avProfilePixelFormat = "pix_fmt"; -const std::string Profile::avProfileSampleFormat = "sample_fmt"; -const std::string Profile::avProfileFrameRate = "r"; -const std::string Profile::avProfileSampleRate = "ar"; -const std::string Profile::avProfileChannel = "ac"; -} %} namespace std { @@ -82,8 +61,6 @@ namespace std { %template(ProfilesVector) vector< map< string, string > >; } -%include <AvTranscoder/common.hpp> - %include "AvTranscoder/progress/progress.i" %include <AvTranscoder/Profile.hpp> diff --git a/src/AvTranscoder/common.hpp b/src/AvTranscoder/common.hpp index d24e5b27..7c3c1c52 100644 --- a/src/AvTranscoder/common.hpp +++ b/src/AvTranscoder/common.hpp @@ -55,8 +55,10 @@ namespace avtranscoder typedef AVRational Rational; -void AvExport split( std::vector< std::string >& splitedString, const std::string& inputString, const std::string& splitChars = ";" ); -int AvExport getFilesInDir( const std::string& dir, std::vector< std::string >& files ); +#ifndef SWIG +void split( std::vector< std::string >& splitedString, const std::string& inputString, const std::string& splitChars = ";" ); +int getFilesInDir( const std::string& dir, std::vector< std::string >& files ); +#endif std::string AvExport getFormat( const std::string& filename ); bool AvExport matchFormat( const std::string& format, const std::string& filename ); diff --git a/src/AvTranscoder/essenceStream/AvInputVideo.cpp b/src/AvTranscoder/essenceStream/AvInputVideo.cpp index 46dc5c64..c1004cdc 100644 --- a/src/AvTranscoder/essenceStream/AvInputVideo.cpp +++ b/src/AvTranscoder/essenceStream/AvInputVideo.cpp @@ -133,9 +133,9 @@ void AvInputVideo::setProfile( const Profile::ProfileDesc& desc ) for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType ) continue; try diff --git a/src/AvTranscoder/essenceStream/AvOutputAudio.cpp b/src/AvTranscoder/essenceStream/AvOutputAudio.cpp index 80bd01ca..e1fbf756 100644 --- a/src/AvTranscoder/essenceStream/AvOutputAudio.cpp +++ b/src/AvTranscoder/essenceStream/AvOutputAudio.cpp @@ -173,24 +173,24 @@ bool AvOutputAudio::encodeFrame( Frame& codedFrame ) void AvOutputAudio::setProfile( const Profile::ProfileDesc& desc, const AudioFrameDesc& frameDesc ) { - if( ! desc.count( Profile::avProfileCodec ) || - ! desc.count( Profile::avProfileSampleFormat ) ) + if( ! desc.count( constants::avProfileCodec ) || + ! desc.count( constants::avProfileSampleFormat ) ) { - throw std::runtime_error( "The profile " + desc.find( Profile::avProfileIdentificatorHuman )->second + " is invalid." ); + throw std::runtime_error( "The profile " + desc.find( constants::avProfileIdentificatorHuman )->second + " is invalid." ); } - _codec.setCodec( eCodecTypeEncoder, desc.find( Profile::avProfileCodec )->second ); + _codec.setCodec( eCodecTypeEncoder, desc.find( constants::avProfileCodec )->second ); _codec.setAudioParameters( frameDesc ); Context codecContext( _codec.getAVCodecContext() ); for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileCodec || - (*it).first == Profile::avProfileSampleFormat ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileCodec || + (*it).first == constants::avProfileSampleFormat ) continue; try @@ -208,11 +208,11 @@ void AvOutputAudio::setProfile( const Profile::ProfileDesc& desc, const AudioFra for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileCodec || - (*it).first == Profile::avProfileSampleFormat ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileCodec || + (*it).first == constants::avProfileSampleFormat ) continue; try diff --git a/src/AvTranscoder/essenceStream/AvOutputVideo.cpp b/src/AvTranscoder/essenceStream/AvOutputVideo.cpp index 4eb05970..0c636e15 100644 --- a/src/AvTranscoder/essenceStream/AvOutputVideo.cpp +++ b/src/AvTranscoder/essenceStream/AvOutputVideo.cpp @@ -174,16 +174,16 @@ bool AvOutputVideo::encodeFrame( Frame& codedFrame ) void AvOutputVideo::setProfile( const Profile::ProfileDesc& desc, const avtranscoder::VideoFrameDesc& frameDesc ) { - if( ! desc.count( Profile::avProfileCodec ) || - ! desc.count( Profile::avProfilePixelFormat ) || - ! desc.count( Profile::avProfileFrameRate ) ) + if( ! desc.count( constants::avProfileCodec ) || + ! desc.count( constants::avProfilePixelFormat ) || + ! desc.count( constants::avProfileFrameRate ) ) { - throw std::runtime_error( "The profile " + desc.find( Profile::avProfileIdentificatorHuman )->second + " is invalid." ); + throw std::runtime_error( "The profile " + desc.find( constants::avProfileIdentificatorHuman )->second + " is invalid." ); } - _codec.setCodec( eCodecTypeEncoder, desc.find( Profile::avProfileCodec )->second ); + _codec.setCodec( eCodecTypeEncoder, desc.find( constants::avProfileCodec )->second ); - const size_t frameRate = std::strtoul( desc.find( Profile::avProfileFrameRate )->second.c_str(), NULL, 0 ); + const size_t frameRate = std::strtoul( desc.find( constants::avProfileFrameRate )->second.c_str(), NULL, 0 ); _codec.setTimeBase( 1, frameRate ); _codec.setImageParameters( frameDesc ); @@ -192,12 +192,12 @@ void AvOutputVideo::setProfile( const Profile::ProfileDesc& desc, const avtransc for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileCodec || - (*it).first == Profile::avProfilePixelFormat || - (*it).first == Profile::avProfileFrameRate ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileCodec || + (*it).first == constants::avProfilePixelFormat || + (*it).first == constants::avProfileFrameRate ) continue; try @@ -215,12 +215,12 @@ void AvOutputVideo::setProfile( const Profile::ProfileDesc& desc, const avtransc for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileCodec || - (*it).first == Profile::avProfilePixelFormat || - (*it).first == Profile::avProfileFrameRate ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileCodec || + (*it).first == constants::avProfilePixelFormat || + (*it).first == constants::avProfileFrameRate ) continue; try diff --git a/src/AvTranscoder/file/InputFile.cpp b/src/AvTranscoder/file/InputFile.cpp index ed664986..cc1b3db4 100644 --- a/src/AvTranscoder/file/InputFile.cpp +++ b/src/AvTranscoder/file/InputFile.cpp @@ -217,9 +217,9 @@ void InputFile::setProfile( const Profile::ProfileDesc& desc ) for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType ) continue; try diff --git a/src/AvTranscoder/file/OutputFile.cpp b/src/AvTranscoder/file/OutputFile.cpp index 6b6638cf..09e19f37 100644 --- a/src/AvTranscoder/file/OutputFile.cpp +++ b/src/AvTranscoder/file/OutputFile.cpp @@ -224,25 +224,25 @@ void OutputFile::addMetadata( const std::string& key, const std::string& value ) void OutputFile::setProfile( const Profile::ProfileDesc& desc ) { - if( ! desc.count( Profile::avProfileFormat ) ) + if( ! desc.count( constants::avProfileFormat ) ) { - throw std::runtime_error( "The profile " + desc.find( Profile::avProfileIdentificatorHuman )->second + " is invalid." ); + throw std::runtime_error( "The profile " + desc.find( constants::avProfileIdentificatorHuman )->second + " is invalid." ); } - if( ! matchFormat( desc.find( Profile::avProfileFormat )->second, _filename ) ) + if( ! matchFormat( desc.find( constants::avProfileFormat )->second, _filename ) ) { throw std::runtime_error( "Invalid format according to the file extension." ); } - _outputFormat = av_guess_format( desc.find( Profile::avProfileFormat )->second.c_str(), _filename.c_str(), NULL); + _outputFormat = av_guess_format( desc.find( constants::avProfileFormat )->second.c_str(), _filename.c_str(), NULL); Context formatContext( _formatContext ); for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileFormat ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileFormat ) continue; try @@ -260,10 +260,10 @@ void OutputFile::setProfile( const Profile::ProfileDesc& desc ) for( Profile::ProfileDesc::const_iterator it = desc.begin(); it != desc.end(); ++it ) { - if( (*it).first == Profile::avProfileIdentificator || - (*it).first == Profile::avProfileIdentificatorHuman || - (*it).first == Profile::avProfileType || - (*it).first == Profile::avProfileFormat ) + if( (*it).first == constants::avProfileIdentificator || + (*it).first == constants::avProfileIdentificatorHuman || + (*it).first == constants::avProfileType || + (*it).first == constants::avProfileFormat ) continue; try diff --git a/src/AvTranscoder/frame/AudioFrame.hpp b/src/AvTranscoder/frame/AudioFrame.hpp index 7b0e5f17..2421e7f8 100644 --- a/src/AvTranscoder/frame/AudioFrame.hpp +++ b/src/AvTranscoder/frame/AudioFrame.hpp @@ -30,8 +30,8 @@ class AvExport AudioFrameDesc void setParameters( const Profile::ProfileDesc& desc ) { - if( desc.find( Profile::avProfileSampleFormat ) != desc.end() ) - setSampleFormat( desc.find( Profile::avProfileSampleFormat )->second ); + if( desc.find( constants::avProfileSampleFormat ) != desc.end() ) + setSampleFormat( desc.find( constants::avProfileSampleFormat )->second ); } size_t getSampleRate() const { return _sampleRate; } diff --git a/src/AvTranscoder/frame/VideoFrame.hpp b/src/AvTranscoder/frame/VideoFrame.hpp index 7e6ba80a..569cb10a 100644 --- a/src/AvTranscoder/frame/VideoFrame.hpp +++ b/src/AvTranscoder/frame/VideoFrame.hpp @@ -46,8 +46,8 @@ class AvExport VideoFrameDesc void setParameters( const Profile::ProfileDesc& desc ) { - if( desc.find( Profile::avProfilePixelFormat ) != desc.end() ) - setPixel( Pixel( desc.find( Profile::avProfilePixelFormat )->second.c_str() ) ); + if( desc.find( constants::avProfilePixelFormat ) != desc.end() ) + setPixel( Pixel( desc.find( constants::avProfilePixelFormat )->second.c_str() ) ); } size_t getWidth () const { return _width; } diff --git a/src/AvTranscoder/option/Option.hpp b/src/AvTranscoder/option/Option.hpp index 80009188..a906871f 100644 --- a/src/AvTranscoder/option/Option.hpp +++ b/src/AvTranscoder/option/Option.hpp @@ -32,7 +32,7 @@ enum EOptionBaseType * Get its type to know what the option is about: Int, Double, Ratio, Choice... * Parse its array of options to get the potential childs (Choice and Group). */ -class Option +class AvExport Option { public: Option( AVOption& avOption, void* avContext ); diff --git a/src/AvTranscoder/profile/Avi.hpp b/src/AvTranscoder/profile/Avi.hpp index 30496d5d..e67793e3 100644 --- a/src/AvTranscoder/profile/Avi.hpp +++ b/src/AvTranscoder/profile/Avi.hpp @@ -7,11 +7,11 @@ namespace avtranscoder void loadAvi( Profile::ProfilesDesc& profiles ) { Profile::ProfileDesc avi; - avi[ Profile::avProfileIdentificator ] = "avi"; - avi[ Profile::avProfileIdentificatorHuman ] = "AVI (Audio Video Interleaved)"; - avi[ Profile::avProfileType ] = Profile::avProfileTypeFormat; + avi[ constants::avProfileIdentificator ] = "avi"; + avi[ constants::avProfileIdentificatorHuman ] = "AVI (Audio Video Interleaved)"; + avi[ constants::avProfileType ] = constants::avProfileTypeFormat; - avi[ Profile::avProfileFormat ] = "avi"; + avi[ constants::avProfileFormat ] = "avi"; profiles.push_back( avi ); } diff --git a/src/AvTranscoder/profile/DNxHD.hpp b/src/AvTranscoder/profile/DNxHD.hpp index 1a998a54..7f9d12bb 100644 --- a/src/AvTranscoder/profile/DNxHD.hpp +++ b/src/AvTranscoder/profile/DNxHD.hpp @@ -7,34 +7,34 @@ namespace avtranscoder void loadDNxHD( Profile::ProfilesDesc& profiles ) { Profile::ProfileDesc dnxhd120; - dnxhd120[ Profile::avProfileIdentificator ] = "dnxhd120"; - dnxhd120[ Profile::avProfileIdentificatorHuman ] = "DNxHD 120"; - dnxhd120[ Profile::avProfileType ] = Profile::avProfileTypeVideo; - dnxhd120[ Profile::avProfileCodec ] = "dnxhd"; + dnxhd120[ constants::avProfileIdentificator ] = "dnxhd120"; + dnxhd120[ constants::avProfileIdentificatorHuman ] = "DNxHD 120"; + dnxhd120[ constants::avProfileType ] = constants::avProfileTypeVideo; + dnxhd120[ constants::avProfileCodec ] = "dnxhd"; dnxhd120[ "b" ] = "120000000"; - dnxhd120[ Profile::avProfilePixelFormat ] = "yuv422p"; + dnxhd120[ constants::avProfilePixelFormat ] = "yuv422p"; dnxhd120[ "g" ] = "1"; - dnxhd120[ Profile::avProfileFrameRate ] = "25"; + dnxhd120[ constants::avProfileFrameRate ] = "25"; Profile::ProfileDesc dnxhd185; - dnxhd185[ Profile::avProfileIdentificator ] = "dnxhd185"; - dnxhd185[ Profile::avProfileIdentificatorHuman ] = "DNxHD 185"; - dnxhd185[ Profile::avProfileType ] = Profile::avProfileTypeVideo; - dnxhd185[ Profile::avProfileCodec ] = "dnxhd"; + dnxhd185[ constants::avProfileIdentificator ] = "dnxhd185"; + dnxhd185[ constants::avProfileIdentificatorHuman ] = "DNxHD 185"; + dnxhd185[ constants::avProfileType ] = constants::avProfileTypeVideo; + dnxhd185[ constants::avProfileCodec ] = "dnxhd"; dnxhd185[ "b" ] = "185000000"; - dnxhd185[ Profile::avProfilePixelFormat ] = "yuv422p"; + dnxhd185[ constants::avProfilePixelFormat ] = "yuv422p"; dnxhd185[ "g" ] = "1"; - dnxhd185[ Profile::avProfileFrameRate ] = "25"; + dnxhd185[ constants::avProfileFrameRate ] = "25"; Profile::ProfileDesc dnxhd185x; - dnxhd185x[ Profile::avProfileIdentificator ] = "dnxhd185x"; - dnxhd185x[ Profile::avProfileIdentificatorHuman ] = "DNxHD 185 X"; - dnxhd185x[ Profile::avProfileType ] = Profile::avProfileTypeVideo; - dnxhd185x[ Profile::avProfileCodec ] = "dnxhd"; + dnxhd185x[ constants::avProfileIdentificator ] = "dnxhd185x"; + dnxhd185x[ constants::avProfileIdentificatorHuman ] = "DNxHD 185 X"; + dnxhd185x[ constants::avProfileType ] = constants::avProfileTypeVideo; + dnxhd185x[ constants::avProfileCodec ] = "dnxhd"; dnxhd185x[ "b" ] = "185000000"; - dnxhd185x[ Profile::avProfilePixelFormat ] = "yuv422p10"; + dnxhd185x[ constants::avProfilePixelFormat ] = "yuv422p10"; dnxhd185x[ "g" ] = "1"; - dnxhd185x[ Profile::avProfileFrameRate ] = "25"; + dnxhd185x[ constants::avProfileFrameRate ] = "25"; profiles.push_back( dnxhd120 ); profiles.push_back( dnxhd185 ); diff --git a/src/AvTranscoder/profile/Mkv.hpp b/src/AvTranscoder/profile/Mkv.hpp index abf5a12c..d80f8dff 100644 --- a/src/AvTranscoder/profile/Mkv.hpp +++ b/src/AvTranscoder/profile/Mkv.hpp @@ -7,11 +7,11 @@ namespace avtranscoder void loadMkv( Profile::ProfilesDesc& profiles ) { Profile::ProfileDesc mkv; - mkv[ Profile::avProfileIdentificator ] = "mkv"; - mkv[ Profile::avProfileIdentificatorHuman ] = "Matroska"; - mkv[ Profile::avProfileType ] = Profile::avProfileTypeFormat; + mkv[ constants::avProfileIdentificator ] = "mkv"; + mkv[ constants::avProfileIdentificatorHuman ] = "Matroska"; + mkv[ constants::avProfileType ] = constants::avProfileTypeFormat; - mkv[ Profile::avProfileFormat ] = "matroska"; + mkv[ constants::avProfileFormat ] = "matroska"; profiles.push_back( mkv ); } diff --git a/src/AvTranscoder/profile/Wave.hpp b/src/AvTranscoder/profile/Wave.hpp index f075737d..62328bb5 100644 --- a/src/AvTranscoder/profile/Wave.hpp +++ b/src/AvTranscoder/profile/Wave.hpp @@ -7,52 +7,52 @@ namespace avtranscoder void loadWave( Profile::ProfilesDesc& profiles ) { Profile::ProfileDesc wave48k; - wave48k[ Profile::avProfileType ] = Profile::avProfileTypeAudio; - wave48k[ Profile::avProfileSampleRate ] = "48000"; + wave48k[ constants::avProfileType ] = constants::avProfileTypeAudio; + wave48k[ constants::avProfileSampleRate ] = "48000"; // 48kHz - 16bits little endian - mono - wave48k[ Profile::avProfileIdentificator ] = "wave16b48kmono"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz mono"; - wave48k[ Profile::avProfileCodec ] = "pcm_s16le"; - wave48k[ Profile::avProfileSampleFormat ] = "s16"; - wave48k[ Profile::avProfileChannel ] = "1"; + wave48k[ constants::avProfileIdentificator ] = "wave16b48kmono"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz mono"; + wave48k[ constants::avProfileCodec ] = "pcm_s16le"; + wave48k[ constants::avProfileSampleFormat ] = "s16"; + wave48k[ constants::avProfileChannel ] = "1"; profiles.push_back( wave48k ); // 48kHz - 16bits little endian - stereo - wave48k[ Profile::avProfileIdentificator ] = "wave16b48kstereo"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz stereo"; - wave48k[ Profile::avProfileChannel ] = "2"; + wave48k[ constants::avProfileIdentificator ] = "wave16b48kstereo"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz stereo"; + wave48k[ constants::avProfileChannel ] = "2"; profiles.push_back( wave48k ); // 48kHz - 16bits little endian - 5.1 - wave48k[ Profile::avProfileIdentificator ] = "wave16b48k5_1"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz 5.1"; - wave48k[ Profile::avProfileChannel ] = "6"; + wave48k[ constants::avProfileIdentificator ] = "wave16b48k5_1"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 16bits 48kHz 5.1"; + wave48k[ constants::avProfileChannel ] = "6"; profiles.push_back( wave48k ); // 48kHz - 24bits little endian - mono - wave48k[ Profile::avProfileIdentificator ] = "wave24b48kmono"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz mono"; - wave48k[ Profile::avProfileCodec ] = "pcm_s24le"; - wave48k[ Profile::avProfileSampleFormat ] = "s32"; - wave48k[ Profile::avProfileChannel ] = "1"; + wave48k[ constants::avProfileIdentificator ] = "wave24b48kmono"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz mono"; + wave48k[ constants::avProfileCodec ] = "pcm_s24le"; + wave48k[ constants::avProfileSampleFormat ] = "s32"; + wave48k[ constants::avProfileChannel ] = "1"; profiles.push_back( wave48k ); // 48kHz - 24bits little endian - stereo - wave48k[ Profile::avProfileIdentificator ] = "wave24b48kstereo"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz stereo"; - wave48k[ Profile::avProfileChannel ] = "2"; + wave48k[ constants::avProfileIdentificator ] = "wave24b48kstereo"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz stereo"; + wave48k[ constants::avProfileChannel ] = "2"; profiles.push_back( wave48k ); // 48kHz - 24bits little endian - 5.1 - wave48k[ Profile::avProfileIdentificator ] = "wave24b48k5_1"; - wave48k[ Profile::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz 5.1"; - wave48k[ Profile::avProfileChannel ] = "6"; + wave48k[ constants::avProfileIdentificator ] = "wave24b48k5_1"; + wave48k[ constants::avProfileIdentificatorHuman ] = "Wave 24bits 48kHz 5.1"; + wave48k[ constants::avProfileChannel ] = "6"; profiles.push_back( wave48k ); } diff --git a/src/AvTranscoder/profile/XdCamHd422.hpp b/src/AvTranscoder/profile/XdCamHd422.hpp index b96be302..82ae8084 100644 --- a/src/AvTranscoder/profile/XdCamHd422.hpp +++ b/src/AvTranscoder/profile/XdCamHd422.hpp @@ -8,12 +8,12 @@ void loadXdCamHD422( Profile::ProfilesDesc& profiles ) { Profile::ProfileDesc xdCamHd422; - xdCamHd422[ Profile::avProfileIdentificator ] = "xdcamhd422"; - xdCamHd422[ Profile::avProfileIdentificatorHuman ] = "XdCamHD 422"; - xdCamHd422[ Profile::avProfileType ] = Profile::avProfileTypeVideo; + xdCamHd422[ constants::avProfileIdentificator ] = "xdcamhd422"; + xdCamHd422[ constants::avProfileIdentificatorHuman ] = "XdCamHD 422"; + xdCamHd422[ constants::avProfileType ] = constants::avProfileTypeVideo; - xdCamHd422[ Profile::avProfileCodec ] = "mpeg2video"; + xdCamHd422[ constants::avProfileCodec ] = "mpeg2video"; xdCamHd422[ "profile" ] = "0"; // FF_PROFILE_MPEG2_422 xdCamHd422[ "level" ] = "2"; @@ -23,9 +23,9 @@ void loadXdCamHD422( Profile::ProfilesDesc& profiles ) xdCamHd422[ "qmin" ] = "2"; xdCamHd422[ "qmax" ] = "12"; xdCamHd422[ "dc" ] = "2"; // 10 - 8 = 2 - xdCamHd422[ Profile::avProfileFrameRate ] = "25"; + xdCamHd422[ constants::avProfileFrameRate ] = "25"; - xdCamHd422[ Profile::avProfilePixelFormat ] = "yuv422p"; + xdCamHd422[ constants::avProfilePixelFormat ] = "yuv422p"; // color informations are not used in FFmpeg/LibAV for Mpeg2 xdCamHd422[ "colorspace" ] = "1"; // AVCOL_SPC_BT709 diff --git a/src/AvTranscoder/progress/progress.i b/src/AvTranscoder/progress/progress.i index 8a676125..7bd30a37 100644 --- a/src/AvTranscoder/progress/progress.i +++ b/src/AvTranscoder/progress/progress.i @@ -1,4 +1,5 @@ %{ + #include <AvTranscoder/common.hpp> #include <AvTranscoder/progress/IProgress.hpp> #include <AvTranscoder/progress/ConsoleProgress.hpp> #include <AvTranscoder/progress/NoDisplayProgress.hpp> @@ -7,6 +8,7 @@ /* turn on director wrapping for IProgress */ %feature("director") IProgress; +%include <AvTranscoder/common.hpp> %include <AvTranscoder/progress/IProgress.hpp> %include <AvTranscoder/progress/ConsoleProgress.hpp> %include <AvTranscoder/progress/NoDisplayProgress.hpp> diff --git a/src/AvTranscoder/transcoder/StreamTranscoder.cpp b/src/AvTranscoder/transcoder/StreamTranscoder.cpp index a4db8f25..3491171f 100644 --- a/src/AvTranscoder/transcoder/StreamTranscoder.cpp +++ b/src/AvTranscoder/transcoder/StreamTranscoder.cpp @@ -184,10 +184,10 @@ StreamTranscoder::StreamTranscoder( , _infinityStream( false ) { // create a coding case based on a InputEssence (aka generator) - if( ! profile.count( Profile::avProfileType ) ) + if( ! profile.count( constants::avProfileType ) ) throw std::runtime_error( "unable to found stream type (audio, video, etc.)" ); - if( profile.find( Profile::avProfileType )->second == Profile::avProfileTypeVideo ) + if( profile.find( constants::avProfileType )->second == constants::avProfileTypeVideo ) { AvOutputVideo* outputVideo = new AvOutputVideo(); @@ -210,7 +210,7 @@ StreamTranscoder::StreamTranscoder( return; } - if( profile.find( Profile::avProfileType )->second == Profile::avProfileTypeAudio ) + if( profile.find( constants::avProfileType )->second == constants::avProfileTypeAudio ) { AvOutputAudio* outputAudio = new AvOutputAudio(); diff --git a/src/AvTranscoder/transcoder/Transcoder.cpp b/src/AvTranscoder/transcoder/Transcoder.cpp index dac4bd8a..fb49d81e 100644 --- a/src/AvTranscoder/transcoder/Transcoder.cpp +++ b/src/AvTranscoder/transcoder/Transcoder.cpp @@ -397,10 +397,10 @@ void Transcoder::addTranscodeStream( const std::string& filename, const size_t s void Transcoder::addDummyStream( const Profile::ProfileDesc& profile, const ICodec& codec ) { - if( ! profile.count( Profile::avProfileType ) ) + if( ! profile.count( constants::avProfileType ) ) throw std::runtime_error( "unable to found stream type (audio, video, etc.)" ); - if( profile.find( Profile::avProfileType )->second == Profile::avProfileTypeAudio ) + if( profile.find( constants::avProfileType )->second == constants::avProfileTypeAudio ) { if( _verbose ) std::cout << "add a generated audio stream" << std::endl; @@ -410,7 +410,7 @@ void Transcoder::addDummyStream( const Profile::ProfileDesc& profile, const ICod _streamTranscoders.push_back( new StreamTranscoder( *_generatorAudio.back(), _outputFile, profile ) ); } - if( profile.find( Profile::avProfileType )->second == Profile::avProfileTypeVideo ) + if( profile.find( constants::avProfileType )->second == constants::avProfileTypeVideo ) { if( _verbose ) std::cout << "add generated video stream" << std::endl; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 518d273d..86bdce13 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -25,7 +25,11 @@ target_link_libraries(avtranscoder-static ${FFMPEG_LIBRARIES}) # Create 'avtranscoder' shared lib add_library(avtranscoder-shared SHARED ${AVTRANSCODER_SRC_FILES}) set_target_properties(avtranscoder-shared PROPERTIES LINKER_LANGUAGE CXX) -set_target_properties(avtranscoder-shared PROPERTIES OUTPUT_NAME avtranscoder) +if(WIN32) + set_target_properties(avtranscoder-shared PROPERTIES OUTPUT_NAME "avtranscoder-${AVTRANSCODER_VERSION}") +else() + set_target_properties(avtranscoder-shared PROPERTIES OUTPUT_NAME avtranscoder) +endif() set_target_properties(avtranscoder-shared PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR}) set_target_properties(avtranscoder-shared PROPERTIES VERSION ${AVTRANSCODER_VERSION}) target_link_libraries(avtranscoder-shared ${FFMPEG_LIBRARIES})