Skip to content

Commit 813923d

Browse files
author
Clement Champetier
committed
Merge branch 'develop' of https://github.com/avTranscoder/avTranscoder into dev_addTestsForProcessStat
2 parents 96cd138 + 2eeae46 commit 813923d

File tree

18 files changed

+55
-124
lines changed

18 files changed

+55
-124
lines changed

.travis.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,27 @@ env:
2121
- DEPENDENCY_INSTALL=install-dependency
2222
- DEPENDENCY_INSTALL_PATH=${TRAVIS_BUILD_DIR}/${DEPENDENCY_INSTALL}
2323
matrix:
24-
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
25-
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=false
26-
- DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true
27-
- DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=false
24+
- DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
25+
- DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=false
26+
- DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true
27+
- DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=false
2828

2929
matrix:
30-
# generate coverage only with gcc
3130
exclude:
31+
# generate coverage only with gcc
3232
- compiler: clang
33-
env: DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true
33+
env: DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true
3434
- compiler: clang
35-
env: DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
36-
allow_failures:
35+
env: DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
36+
# generate coverage only on linux
3737
- os: osx
38+
env: DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
39+
- os: osx
40+
env: DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.2.9 ENABLE_COVERAGE=true
3841
fast_finish: true
3942

4043
# This results in a 2×2×2x2 build matrix.
41-
# Where the variables are: os / compiler / DEPENDENCY_MODE / ENABLE_COVERAGE
44+
# Where the variables are: os / compiler / DEPENDENCY_NAME / ENABLE_COVERAGE
4245

4346
addons:
4447
apt:
@@ -58,7 +61,7 @@ cache:
5861
- ${DEPENDENCY_INSTALL_PATH}
5962

6063
before_script:
61-
- env | sort
64+
- env | sort
6265
- date -u
6366
- uname -a
6467

@@ -76,7 +79,7 @@ script:
7679
- ./tools/travis/build.sh
7780

7881
# launch tests
79-
- if [ ${DEPENDENCY_MODE} = "ffmpeg" ]; then ./tools/travis/python.nosetests.sh; fi
82+
- if [ ${TRAVIS_OS_NAME} = "linux" ] && [ ${DEPENDENCY_NAME} = "ffmpeg" ]; then ./tools/travis/python.nosetests.sh; fi
8083

8184
after_success:
8285
# generate coverage for coveralls
@@ -87,13 +90,13 @@ before_deploy:
8790
- if [ ${TRAVIS_OS_NAME} = "linux" ]; then cp /lib/x86_64-linux-gnu/{libbz2.so.1,libbz2.so.1.0,libbz2.so.1.0.4} ${DEPENDENCY_INSTALL_PATH}/lib; fi
8891
# create archive
8992
- cd ${TRAVIS_BUILD_DIR}
90-
- tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL}
93+
- tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION}.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL}
9194

9295
deploy:
9396
provider: releases
9497
api_key:
9598
secure: ${GITHUB_RELEASE_API_KEY}
96-
file: avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE}.tgz
99+
file: avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION}.tgz
97100
skip_cleanup: true
98101
on:
99102
branch: master

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ C++ API for Libav / FFmpeg
55
Based on Libav/FFmpeg libraries to support various video and audio formats, avTranscoder provides the high level API to re-wrap or transcode media easily.
66

77
[![Build Status](https://travis-ci.org/avTranscoder/avTranscoder.svg?branch=develop)](https://travis-ci.org/avTranscoder/avTranscoder)
8+
[![Build status](https://ci.appveyor.com/api/projects/status/6urf0otyhtj8xuny?svg=true)](https://ci.appveyor.com/project/cchampet/avtranscoder)
89
[![Coverage Status](https://coveralls.io/repos/avTranscoder/avTranscoder/badge.svg)](https://coveralls.io/r/avTranscoder/avTranscoder)
910
<a href="https://scan.coverity.com/projects/2626"><img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/2626/badge.svg"/></a>
1011
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/avTranscoder/avtranscoder/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

app/avInfo/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,3 @@ install(
2222
DESTINATION "bin/"
2323
OPTIONAL
2424
)
25-
26-
install(
27-
FILES ${CMAKE_CURRENT_SOURCE_DIR}/avinfo.man
28-
RENAME "avinfo.1"
29-
DESTINATION "share/man/man1/"
30-
)

app/avInfo/avinfo.man

Lines changed: 0 additions & 11 deletions
This file was deleted.

app/avMeta/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,3 @@ install(
2222
DESTINATION "bin/"
2323
OPTIONAL
2424
)
25-
26-
install(
27-
FILES ${CMAKE_CURRENT_SOURCE_DIR}/avmeta.man
28-
RENAME "avmeta.1"
29-
DESTINATION "share/man/man1/"
30-
)

app/avMeta/avmeta.man

Lines changed: 0 additions & 19 deletions
This file was deleted.

app/avPlay/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,3 @@ install(
4444
DESTINATION "bin/"
4545
OPTIONAL
4646
)
47-
48-
install(
49-
FILES ${CMAKE_CURRENT_SOURCE_DIR}/avplay.man
50-
RENAME avplay.1
51-
DESTINATION "share/man/man1/"
52-
)

app/avPlay/avplay.man

Lines changed: 0 additions & 11 deletions
This file was deleted.

app/avProcessor/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,3 @@ install(
2222
DESTINATION "bin/"
2323
OPTIONAL
2424
)
25-
26-
install(
27-
FILES ${CMAKE_CURRENT_SOURCE_DIR}/avprocessor.man
28-
RENAME avprocessor.1
29-
DESTINATION "share/man/man1/"
30-
)

app/avProcessor/avprocessor.man

Lines changed: 0 additions & 13 deletions
This file was deleted.

app/pyConcat/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
### python/pyConcat
2+
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
3+
include(AvTranscoderMacros)
24

35
# Install app
46
install(
@@ -8,5 +10,6 @@ install(
810
)
911

1012
if(UNIX)
11-
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyconcat.py ${CMAKE_INSTALL_PREFIX}/bin/pyconcat)" )
13+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyconcat.py ${CMAKE_INSTALL_PREFIX}/bin/pyconcat-${AVTRANSCODER_VERSION})" )
14+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf pyconcat-${AVTRANSCODER_VERSION} ${CMAKE_INSTALL_PREFIX}/bin/pyconcat)" )
1215
endif(UNIX)

app/pyProcessor/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
### python/pyProcessor
2+
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
3+
include(AvTranscoderMacros)
24

35
# Install app
46
install(
@@ -8,5 +10,6 @@ install(
810
)
911

1012
if(UNIX)
11-
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyprocessor.py ${CMAKE_INSTALL_PREFIX}/bin/pyprocessor)" )
13+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyprocessor.py ${CMAKE_INSTALL_PREFIX}/bin/pyprocessor-${AVTRANSCODER_VERSION})" )
14+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf pyprocessor-${AVTRANSCODER_VERSION} ${CMAKE_INSTALL_PREFIX}/bin/pyprocessor)" )
1215
endif(UNIX)

app/pyRewrap/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
### python/pyRewrap
2+
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
3+
include(AvTranscoderMacros)
24

35
# Install app
46
install(
@@ -8,5 +10,6 @@ install(
810
)
911

1012
if(UNIX)
11-
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyrewrap.py ${CMAKE_INSTALL_PREFIX}/bin/pyrewrap)" )
13+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pyrewrap.py ${CMAKE_INSTALL_PREFIX}/bin/pyrewrap-${AVTRANSCODER_VERSION})" )
14+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf pyrewrap-${AVTRANSCODER_VERSION} ${CMAKE_INSTALL_PREFIX}/bin/pyrewrap)" )
1215
endif(UNIX)

app/pyThumbnail/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
### python/pyThumbnail
2+
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
3+
include(AvTranscoderMacros)
24

35
# Install app
46
install(
@@ -8,5 +10,6 @@ install(
810
)
911

1012
if(UNIX)
11-
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pythumbnail.py ${CMAKE_INSTALL_PREFIX}/bin/pythumbnail)" )
13+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf python/pythumbnail.py ${CMAKE_INSTALL_PREFIX}/bin/pythumbnail-${AVTRANSCODER_VERSION})" )
14+
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf pythumbnail-${AVTRANSCODER_VERSION} ${CMAKE_INSTALL_PREFIX}/bin/pythumbnail)" )
1215
endif(UNIX)

src/AvTranscoder/properties/VideoProperties.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,14 +490,16 @@ void VideoProperties::analyseGopStructure(IProgress& progress)
490490
_codecContext->skip_frame = AVDISCARD_NONE;
491491

492492
AVPacket pkt;
493+
av_init_packet(&pkt);
493494

495+
// Allocate frame
494496
#if LIBAVCODEC_VERSION_MAJOR > 54
495497
AVFrame* frame = av_frame_alloc();
496498
#else
497499
AVFrame* frame = avcodec_alloc_frame();
498500
#endif
499501

500-
av_init_packet(&pkt);
502+
// Initialize the AVCodecContext to use the given AVCodec
501503
avcodec_open2(_codecContext, _codec, NULL);
502504

503505
int count = 0;
@@ -531,6 +533,11 @@ void VideoProperties::analyseGopStructure(IProgress& progress)
531533
if(stopAnalyse)
532534
break;
533535
}
536+
537+
// Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself)
538+
avcodec_close(_codecContext);
539+
540+
// Free frame
534541
#if LIBAVCODEC_VERSION_MAJOR > 54
535542
av_frame_free(&frame);
536543
#else

tools/travis/build.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,8 @@ set -x
77
mkdir -p ${AVTRANSCODER_BUILD_PATH}
88
cd ${AVTRANSCODER_BUILD_PATH}
99

10-
# Customize environment
11-
if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
12-
# Ask cmake to search in all dependencies we've installed manually
13-
export CMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL_PATH}
14-
elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then
15-
# Ask cmake to search in all homebrew packages
16-
export CMAKE_PREFIX_PATH=$(echo /usr/local/Cellar/*/* | sed 's/ /;/g')
17-
fi
10+
# Ask cmake to search in all dependencies we've installed manually
11+
export CMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL_PATH}
1812

1913
# Build avTranscoder
2014
cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL_PATH} -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_PYTHON_VERSION_OF_BINDING=2.7 -DAVTRANSCODER_COVERAGE=${ENABLE_COVERAGE}

tools/travis/linux.install.deps.sh

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,22 @@
33
# Print commands and their arguments as they are executed.
44
set -x
55

6-
lsb_release -a
7-
86
if [ ! -d "${DEPENDENCY_INSTALL_PATH}/lib/" ]; then
97

10-
if [[ ${DEPENDENCY_MODE} == "ffmpeg" ]]; then
8+
if [[ ${DEPENDENCY_NAME} == "ffmpeg" ]]; then
119

12-
export FFMPEG_VERSION=2.2.9
13-
wget https://www.ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2
14-
bunzip2 ffmpeg-${FFMPEG_VERSION}.tar.bz2
15-
tar -xvf ffmpeg-${FFMPEG_VERSION}.tar
16-
cd ffmpeg-${FFMPEG_VERSION}
17-
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make && make install
10+
wget https://www.ffmpeg.org/releases/ffmpeg-${DEPENDENCY_VERSION}.tar.bz2
11+
bunzip2 ffmpeg-${DEPENDENCY_VERSION}.tar.bz2
12+
tar -xvf ffmpeg-${DEPENDENCY_VERSION}.tar
13+
cd ffmpeg-${DEPENDENCY_VERSION}
14+
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install
1815

19-
elif [[ ${DEPENDENCY_MODE} == "libav" ]]; then
16+
elif [[ ${DEPENDENCY_NAME} == "libav" ]]; then
2017

21-
export LIBAV_VERSION=11.3
22-
wget https://libav.org/releases/libav-${LIBAV_VERSION}.tar.gz
23-
tar -xvf libav-${LIBAV_VERSION}.tar.gz
24-
cd libav-${LIBAV_VERSION}
25-
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make && make install
18+
wget https://libav.org/releases/libav-${DEPENDENCY_VERSION}.tar.gz
19+
tar -xvf libav-${DEPENDENCY_VERSION}.tar.gz
20+
cd libav-${DEPENDENCY_VERSION}
21+
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install
2622

2723
fi
2824

tools/travis/osx.install.deps.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,4 @@ pip install nose
1616
brew install freeglut
1717

1818
# Main dependency
19-
if [[ ${DEPENDENCY_MODE} == "ffmpeg" ]]; then
20-
brew install ffmpeg
21-
elif [[ ${DEPENDENCY_MODE} == "libav" ]]; then
22-
brew install libav
23-
fi
19+
./tools/travis/linux.install.deps.sh

0 commit comments

Comments
 (0)