diff --git a/cmake/Modules/FindFFmpeg.cmake b/cmake/Modules/FindFFmpeg.cmake index 452454b3..74c97cd6 100644 --- a/cmake/Modules/FindFFmpeg.cmake +++ b/cmake/Modules/FindFFmpeg.cmake @@ -14,11 +14,13 @@ FIND_PATH( AVFORMAT_INCLUDE_DIR libavformat/avformat.h $ENV{FFMPEGDIR}/include/ $ENV{FFMPEGDIR}/include/ffmpeg/ ) -FIND_LIBRARY( AVFORMAT_LIBRARY avformat +FIND_LIBRARY( AVFORMAT_LIBRARY avformat avformat-55 PATHS /usr/lib/ /usr/lib/ffmpeg/ $ENV{FFMPEGDIR}/lib/ - $ENV{FFMPEGDIR}/lib/ffmpeg/ ) + $ENV{FFMPEGDIR}/lib/ffmpeg/ + $ENV{FFMPEGDIR}/bin/ ) + #FindAvcodec FIND_PATH( AVCODEC_INCLUDE_DIR libavcodec/avcodec.h PATHS /usr/include/ @@ -26,11 +28,13 @@ FIND_PATH( AVCODEC_INCLUDE_DIR libavcodec/avcodec.h $ENV{FFMPEGDIR}/include/ $ENV{FFMPEGDIR}/include/ffmpeg/ ) -FIND_LIBRARY( AVCODEC_LIBRARY avcodec +FIND_LIBRARY( AVCODEC_LIBRARY avcodec avcodec-55 PATHS /usr/lib/ /usr/lib/ffmpeg/ $ENV{FFMPEGDIR}/lib/ - $ENV{FFMPEGDIR}/lib/ffmpeg/ ) + $ENV{FFMPEGDIR}/lib/ffmpeg/ + $ENV{FFMPEGDIR}/bin/ ) + #FindAvutil FIND_PATH( AVUTIL_INCLUDE_DIR libavutil/avutil.h PATHS /usr/include/ @@ -38,11 +42,12 @@ FIND_PATH( AVUTIL_INCLUDE_DIR libavutil/avutil.h $ENV{FFMPEGDIR}/include/ $ENV{FFMPEGDIR}/include/ffmpeg/ ) -FIND_LIBRARY( AVUTIL_LIBRARY avutil +FIND_LIBRARY( AVUTIL_LIBRARY avutil avutil-52 PATHS /usr/lib/ /usr/lib/ffmpeg/ $ENV{FFMPEGDIR}/lib/ - $ENV{FFMPEGDIR}/lib/ffmpeg/ ) + $ENV{FFMPEGDIR}/lib/ffmpeg/ + $ENV{FFMPEGDIR}/bin/ ) #FindAvdevice FIND_PATH( AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h @@ -51,11 +56,12 @@ FIND_PATH( AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h $ENV{FFMPEGDIR}/include/ $ENV{FFMPEGDIR}/include/ffmpeg/ ) -FIND_LIBRARY( AVDEVICE_LIBRARY avdevice +FIND_LIBRARY( AVDEVICE_LIBRARY avdevice avdevice-55 PATHS /usr/lib/ /usr/lib/ffmpeg/ $ENV{FFMPEGDIR}/lib/ - $ENV{FFMPEGDIR}/lib/ffmpeg/ ) + $ENV{FFMPEGDIR}/lib/ffmpeg/ + $ENV{FFMPEGDIR}/bin/ ) #FindSwscale FIND_PATH( SWSCALE_INCLUDE_DIR libswscale/swscale.h @@ -64,11 +70,12 @@ FIND_PATH( SWSCALE_INCLUDE_DIR libswscale/swscale.h $ENV{FFMPEGDIR}/include/ $ENV{FFMPEGDIR}/include/ffmpeg/ ) -FIND_LIBRARY( SWSCALE_LIBRARY swscale +FIND_LIBRARY( SWSCALE_LIBRARY swscale swscale-2 PATHS /usr/lib/ /usr/lib/ffmpeg/ $ENV{FFMPEGDIR}/lib/ - $ENV{FFMPEGDIR}/lib/ffmpeg/ ) + $ENV{FFMPEGDIR}/lib/ffmpeg/ + $ENV{FFMPEGDIR}/bin/ ) SET( FFMPEG_FOUND FALSE ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9cb96323..032d03ad 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -265,6 +265,25 @@ INSTALL(FILES ${headers} DESTINATION include/libopenshot) # Install primary library INSTALL(TARGETS openshot DESTINATION ${LIB_INSTALL_DIR}) +# Install related libraries for Windows and Mac +IF (WIN32 OR APPLE) + # Find location of Qt Libraries + get_target_property(Qt5Widgets_location ${Qt5Widgets_LIBRARIES} LOCATION) + get_target_property(Qt5Core_location ${Qt5Core_LIBRARIES} LOCATION) + get_target_property(Qt5Gui_location ${Qt5Gui_LIBRARIES} LOCATION) + get_target_property(Qt5Multimedia_location ${Qt5Multimedia_LIBRARIES} LOCATION) + get_target_property(Qt5MultimediaWidgets_location ${Qt5MultimediaWidgets_LIBRARIES} LOCATION) + + INSTALL(FILES ${ImageMagick_LIBRARIES} + ${FFMPEG_LIBRARIES} + ${LIBOPENSHOT_AUDIO_LIBRARIES} + ${Qt5Widgets_location} + ${Qt5Core_location} + ${Qt5Gui_location} + ${Qt5Multimedia_location} + ${Qt5MultimediaWidgets_location} + DESTINATION ${LIB_INSTALL_DIR}) +ENDIF(WIN32 OR APPLE) ############### CPACK PACKAGING ############## IF(MINGW) diff --git a/src/Clip.cpp b/src/Clip.cpp index 7b7f7abd..71702d67 100644 --- a/src/Clip.cpp +++ b/src/Clip.cpp @@ -183,8 +183,13 @@ void Clip::Open() throw(InvalidFile, ReaderClosed) // Close the internal reader void Clip::Close() throw(ReaderClosed) { - if (reader) + if (reader) { reader->Close(); + + // Delete the reader + delete reader; + reader = NULL; + } else // Throw error if reader not initialized throw ReaderClosed("No Reader has been initialized for this Clip. Call Reader(*reader) before calling this method.", ""); diff --git a/src/ImageReader.cpp b/src/ImageReader.cpp index 6e908452..55999ee6 100644 --- a/src/ImageReader.cpp +++ b/src/ImageReader.cpp @@ -99,6 +99,9 @@ void ImageReader::Close() { // Mark as "closed" is_open = false; + + // Delete the image + image.reset(); } }