Skip to content

Up to v0.5.10 (MIK fork) #145

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 142 commits into from
Oct 8, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
74cd149
jFileAnalysis: clean
Aug 13, 2015
72f2db5
CMake: remove -pg option from debug build
Aug 13, 2015
e67d140
CMake: add -Wall option for both release & debug builds
Aug 13, 2015
8ab1d9f
OutputFile: rename setProfile to setupWrapping
Aug 13, 2015
e0b65e7
InputFile: rename setProfile to setupUnwrapping
Aug 13, 2015
bc71cee
decoders: call setupDecoder before decoding
Aug 13, 2015
dc79164
IDecoder: setupDecoder is no more a pure virtual method
Aug 13, 2015
fdc9c53
CMake: fix compilation warnings when build java binding
Aug 14, 2015
99bf0d8
AudioProperties: compute nbSamples if the info is unknown from ffmpeg
Aug 13, 2015
8d6192e
pyTest: fix test NbSamplesAudioTranscode
Aug 13, 2015
edf1501
VideoProperties: compute nbFrames if the info is unknown from ffmpeg
Aug 17, 2015
c1ce18b
Add reader classes
Aug 24, 2015
a8c9862
VideoReader: refactoring read frame functions
Aug 25, 2015
7eb37a4
avplay: fix update of display when seek to an other frame
Aug 25, 2015
8c1d931
avplay: call displayFirstFrame when launch the app
Aug 25, 2015
9b3d44a
reader: add AudioReader class
Aug 25, 2015
43adf39
VideoReader: clean indentation
Aug 25, 2015
34dd775
avplay: add newline at end of file
Aug 25, 2015
e550b23
AudioReader: add getters of sample rate and nb channels
Aug 25, 2015
8eace2d
AudioReader: add a constructor from an existing InputFile
Aug 25, 2015
9d4e436
mediaProperty: add print.cpp for functions definition
Aug 25, 2015
6e171b4
readers: generalize code by using based classes in IReader
Aug 25, 2015
4f3cdb5
IDecoder: add flushDecoder function
Aug 25, 2015
ca3a259
readers: define read fonctions in based class
Aug 25, 2015
745309a
readers: define printInfo in based class
Aug 25, 2015
c551437
IReader: some attributes are private
Aug 25, 2015
6d3a7a6
SWIG: add reader classes to binding
Aug 25, 2015
3738364
IReader: fix indentation
Aug 25, 2015
3c488a8
Video/AudioReader: add method to get properties
Aug 25, 2015
a05d95f
IReader: read methods return the Frame object
Aug 25, 2015
8f0ec17
file: seek methods return the seek status
Aug 25, 2015
28852a7
Merge pull request #217 from cchampet/fix_AudioPropertiesGetNbSamples
cchampet Aug 26, 2015
a341651
IReader: clean doc
Aug 25, 2015
29d3ba5
VideoReader: can indicate width/height/pixel of output stream
Aug 26, 2015
ba0f4f1
AudioReader: can indicate rate/nbChannels/sample of output stream
Aug 26, 2015
081ca38
AudioProperties: compute nbSamples if the info is unknown from ffmpeg
Aug 13, 2015
9601fc8
pyTest: fix test NbSamplesAudioTranscode
Aug 13, 2015
2019918
Merge pull request #218 from cchampet/clean_jAnalyser
valnoel Aug 27, 2015
1d5b2dc
Merge pull request #219 from cchampet/build_cleanDebugMode
valnoel Aug 27, 2015
1ba4ec5
Merge pull request #220 from cchampet/dev_renameInputOutputFileSetPro…
valnoel Aug 27, 2015
7f789d7
Merge pull request #221 from cchampet/dev_setupDecoders
valnoel Aug 27, 2015
3fde640
Merge pull request #223 from cchampet/fix_VideoPropertiesNbFrames
valnoel Aug 27, 2015
ac190dc
FileProperties: fix name of getUnknownProperties
Sep 24, 2015
4497ba6
FileProperties: add getStreamProperties
Sep 24, 2015
7496411
Adding python script to rewrap video medias
Sep 24, 2015
b51ff24
Travis: fix install of dependencies on OSX
Sep 25, 2015
f105e60
IReader: fix first frame to decode
Aug 26, 2015
e132ff8
Video/AudioProperties: remove override of getStreamId
Aug 27, 2015
89801fb
mediaProperty: clean indentation
Aug 27, 2015
a5ebcf7
StreamProperties: declare getPropertiesAsVector as virtual
Aug 27, 2015
f462735
IReader: skip seek if read next frame
Aug 27, 2015
66e1a5e
IReader: fix warning message at compile time
Sep 25, 2015
0df9468
Travis: add travis.build.sh script
Sep 25, 2015
5e6eac5
Travis: fix environment when build on osx
Sep 25, 2015
730260d
Travis: add fast_finish build property
Sep 25, 2015
cb26e58
Travis: add exclude build property
Sep 28, 2015
1aed293
FormatContext: add setFilename method
Sep 28, 2015
0d7c4e5
OutputFile: set AVFormatContext.filename in constructor
Sep 28, 2015
004f558
OutputFile: remove _filename attribute
Sep 28, 2015
f1b8d53
OutputFile: add doc for beginWrap
Sep 28, 2015
d8753af
FormatContext: add doc for setOutputFormat
Sep 28, 2015
bbf2f12
OutputFile: setup specific wrapping options when beginWrap
Sep 28, 2015
823d81f
ProfileLoader: switch check profile methods to static
Sep 28, 2015
4c30726
InputFile: check the given profile when setupUnwrapping
Sep 28, 2015
04e1d13
OutputFile: check the given profile when setupWrapping
Sep 28, 2015
1aeb4e1
VideoEncoder: check the given profile when setupEncoder
Sep 28, 2015
8172277
VideoDecoder: check the given profile when setupDecoder
Sep 28, 2015
7340927
AudioEncoder: check the given profile when setupEncoder
Sep 28, 2015
6a79c03
AudioDecoder: check the given profile when setupDecoder
Sep 28, 2015
72bb3fe
profile: log setup from a given profile as INFO
Sep 28, 2015
c345936
pyrewrap: clean command line arguments
Sep 28, 2015
23c60cf
pyrewrap: fix script with new API
Sep 28, 2015
9e586f5
Travis: clean scripts
Sep 28, 2015
1e6b825
Travis: fix launch of nosetests on osx
Sep 28, 2015
2a02339
Travis: add allow_failures build property
Sep 28, 2015
15e88a5
pyrewrap: add faststart to profile if the option is specified
Sep 28, 2015
2d90339
pyrewrap: add a console progress when process
Sep 28, 2015
5bfd3e5
pyrewrap: clean
Sep 28, 2015
4335297
README: Travis badge display the result of the build on develop branch
Sep 28, 2015
45922a3
Merge pull request #230 from cchampet/dev_mediaProperty
valnoel Sep 28, 2015
585a888
Merge branch 'develop' into dev_addReaderClasses
Sep 28, 2015
20c17b2
Merge pull request #224 from cchampet/dev_addReaderClasses
valnoel Sep 28, 2015
1ff19b7
Merge pull request #235 from cchampet/readme_travisBadgeOnDevelop
valnoel Sep 28, 2015
b0fdd54
OutputFile: clean private functions to set common/specific wrapping o…
Sep 28, 2015
47e4a3c
decoder/encoder: use map::empty when check profile in setup methods
Sep 28, 2015
1862850
pyrewrap: add doc for --faststart option
Sep 28, 2015
b8f6e9f
pyrewrap: clean how to check the command line when use optparse
Sep 28, 2015
5d5f95d
Merge branch 'develop' into feature/rewrapVideoPythonScript
Sep 28, 2015
07e0187
Merge pull request #233 from cchampet/feature/rewrapVideoPythonScript
cchampet Sep 29, 2015
945843c
pyrawrap: add audio streams to the wrapping
Sep 29, 2015
815a590
OuputStream: check floating point exception when getStreamDuration
Sep 29, 2015
eb0afc9
VideoProperties: add doc for getFps
Sep 29, 2015
afda6fa
Travis: switch to container-based infrastructure
Sep 30, 2015
586d31a
Merge pull request #240 from cchampet/travis_switchToContainerBasedIn…
cchampet Sep 30, 2015
ee299ae
python apps: deploy symbolic links
Sep 30, 2015
6d1fcd7
Merge branch 'develop' into pyrewrap_addAudio
Sep 30, 2015
9137c01
Merge pull request #236 from cchampet/pyrewrap_addAudio
valnoel Sep 30, 2015
075e2f9
Merge pull request #241 from cchampet/deploy_LinkToPythonApps
valnoel Sep 30, 2015
630915d
clean: add const when it's possible
Sep 25, 2015
e10930f
file: add log when read next packets
Sep 25, 2015
3435aee
transcoder: clean log
Sep 25, 2015
15f86a4
StreamTranscoder: fix setOffset method
Sep 25, 2015
8c5d4d1
Transcoder: clean how to get AVMediaType
Sep 25, 2015
3c11691
coder & format: clean exception message
Sep 25, 2015
1813ed5
OutputFile: clean wrap method
Sep 25, 2015
7095f6b
Transcoder: log output duration of the process as info
Sep 29, 2015
ddd262c
ICodec: clean error messages
Sep 29, 2015
8c6fe7e
mediaProperty: add StreamVector type to SWIG
Sep 29, 2015
21fac64
Merge pull request #242 from cchampet/clean_logAndExceptionMessage
cchampet Sep 30, 2015
a2afe1a
StreamTranscoder: catch error if cannot create encoder in cases of re…
Sep 30, 2015
91a914c
StreamTranscoder: do not need to manage offset in case of generator
Sep 30, 2015
1071aca
StreamTranscoder: need / can switch to generator
Sep 30, 2015
6075b98
OutputFile: clean how to add new stream
Oct 1, 2015
a3c7514
Frame: clean copyAVPacket
Oct 1, 2015
c75186f
StreamTranscoder: do not need to check if canSwitchToGenerator during…
Oct 1, 2015
5fa0d73
Merge pull request #243 from cchampet/fix_encoderInstanciationIfRewrap
valnoel Oct 1, 2015
46dbf3b
OutputFile: copy extradata of codec context when create a new video s…
Oct 1, 2015
4fb1b73
OutputStream: has a reference to an outputFile
Oct 1, 2015
2169e76
InputStream: give a const AVPacket to addPacket
Oct 1, 2015
b65499a
OutputStream: has a link to its AVStream
Oct 1, 2015
9a68ba1
IOutputStream: add documentation
Oct 1, 2015
d94359a
OutputStream: manage output duration if PTS of stream is not properly…
Oct 1, 2015
0f90d87
OutputStream: clean getStreamDuration
Oct 1, 2015
05853e8
CMake: fix double dependencies of av/sw resample
Sep 29, 2015
fed7209
Merge pull request #244 from cchampet/fix_addVideoStreamExtraData
valnoel Oct 2, 2015
a87d513
Merge pull request #246 from cchampet/cmake_fixDependencySwAvResample_2
valnoel Oct 2, 2015
f26b0e5
OutputStream: rename _outputStream to _outputAVStream
Oct 5, 2015
0837fbd
OutputStream: rename _duration to _wrappedPacketsDuration
Oct 5, 2015
c2170cc
Merge pull request #245 from cchampet/fix_outputStreamDuration
valnoel Oct 5, 2015
942313a
README: reorder usage and compilation
Oct 5, 2015
bf1e9f1
README: add link to the doxygen documentation
Oct 5, 2015
307f5dd
doxygen: remove link to drone.io
Oct 5, 2015
9e04cdf
doxygen: clean main page
Oct 5, 2015
28de2bf
Merge pull request #247 from cchampet/readme_addDoc
cchampet Oct 5, 2015
8a61653
Up to v0.5.9
Oct 5, 2015
6797dea
print: fix build on Windows
Oct 6, 2015
46158b4
VideoProperties: fix getFps
Oct 7, 2015
28ff54f
pyTest: rename env variable ...VIDEO_FILE to ...VIDEO_AVI_FILE
Oct 7, 2015
5813637
pyTest: add testCheckVideoProperties
Oct 7, 2015
f1aa760
pyTest: add testCheckAudioProperties
Oct 7, 2015
0f8be92
Merge pull request #248 from cchampet/fix_getFps
valnoel Oct 7, 2015
6116b64
Up to v0.5.10
Oct 7, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 37 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Use container-based infrastructure
sudo: required
services:
- docker

language: cpp

os:
Expand All @@ -15,14 +20,42 @@ env:
- DEPENDENCY_INSTALL=${TRAVIS_BUILD_DIR}/install-dependency
- CI_NODE_TOTAL=2
matrix:
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=false
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
- DEPENDENCY_MODE=libav ENABLE_COVERAGE=false
- DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true
- DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=false

matrix:
# generate coverage only with gcc
exclude:
- compiler: clang
env: DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true
- compiler: clang
env: DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
allow_failures:
- os: osx
fast_finish: true

# This results in a 2×2×2x2 build matrix.
# Where the variables are: os / compiler / DEPENDENCY_MODE / ENABLE_COVERAGE

addons:
apt:
sources: ['kalakris-cmake']
packages:
- cmake
- swig
- python-dev
- python-nose
- freeglut3-dev

cache:
# Caching Ubuntu packages
apt: true
# Caching other directories
directories:
- ${DEPENDENCY_INSTALL}

before_script:
- env | sort
- date -u
Expand All @@ -39,18 +72,12 @@ before_script:

script:
# build
- mkdir -p ${AVTRANSCODER_BUILD}
- cd ${AVTRANSCODER_BUILD}
- cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL} -DCMAKE_PREFIX_PATH=${DEPENDENCY_INSTALL} -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_PYTHON_VERSION_OF_BINDING=2.7 -DAVTRANSCODER_COVERAGE=${ENABLE_COVERAGE}
- make -j${CI_NODE_TOTAL}
- make install
- ./tools/travis.build.sh

# launch tests
- if [ ${DEPENDENCY_MODE} = "ffmpeg" ]; then ./../tools/travis.python.nosetests.sh; fi
- if [ ${DEPENDENCY_MODE} = "ffmpeg" ]; then ./tools/travis.python.nosetests.sh; fi

after_success:
- cd ${TRAVIS_BUILD_DIR}

# generate coverage for coveralls
- if [ ${ENABLE_COVERAGE} ]; then ./tools/travis.gcc.generate.coverage.sh; fi

Expand Down
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ project(AvTranscoder)
# Set AvTranscoder versions
set(AVTRANSCODER_VERSION_MAJOR "0")
set(AVTRANSCODER_VERSION_MINOR "5")
set(AVTRANSCODER_VERSION_MICRO "8")
set(AVTRANSCODER_VERSION_MICRO "10")
set(AVTRANSCODER_VERSION ${AVTRANSCODER_VERSION_MAJOR}.${AVTRANSCODER_VERSION_MINOR}.${AVTRANSCODER_VERSION_MICRO})

# Define AvTranscoder versions
Expand All @@ -27,8 +27,8 @@ if(MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
else()
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -fPIC -pg -g")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fPIC -O3")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -fPIC -g")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -fPIC -O3")
endif()

# CPP flag to create code coverage report
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ C++ API for Libav / FFmpeg

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.

[![Build Status](https://travis-ci.org/avTranscoder/avTranscoder.svg?branch=master)](https://travis-ci.org/avTranscoder/avTranscoder)
[![Build Status](https://travis-ci.org/avTranscoder/avTranscoder.svg?branch=develop)](https://travis-ci.org/avTranscoder/avTranscoder)
[![Coverage Status](https://coveralls.io/repos/avTranscoder/avTranscoder/badge.svg)](https://coveralls.io/r/avTranscoder/avTranscoder)
<a href="https://scan.coverity.com/projects/2626"><img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/2626/badge.svg"/></a>

Expand All @@ -17,12 +17,15 @@ Based on Libav/FFmpeg libraries to support various video and audio formats, avTr
#### License
See [**COPYING.md**](COPYING.md)

#### Compilation
See [**INSTALL.md**](INSTALL.md)

#### How to use
See [**USAGE.md**](USAGE.md)

#### Documentation
See [**Doxygen documentation**](http://avtranscoder.github.io/avTranscoder-doxygen/)

#### Compilation
See [**INSTALL.md**](INSTALL.md)

#### Tests

###### nosetests
Expand Down
1 change: 1 addition & 0 deletions app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ add_subdirectory(avProcessor)
# Python apps
add_subdirectory(pyProcessor)
add_subdirectory(pyThumbnail)
add_subdirectory(pyRewrap)
85 changes: 0 additions & 85 deletions app/avPlay/AvReader.cpp

This file was deleted.

41 changes: 0 additions & 41 deletions app/avPlay/AvReader.hpp

This file was deleted.

27 changes: 0 additions & 27 deletions app/avPlay/Reader.hpp

This file was deleted.

26 changes: 13 additions & 13 deletions app/avPlay/Window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include <iomanip>
#include <cstring>

Reader* Window::_reader = NULL;
avtranscoder::VideoReader* Window::_reader = NULL;

size_t Window::_width = 0;
size_t Window::_height = 0;
Expand Down Expand Up @@ -94,7 +94,7 @@ void loadNewTexture( const char* data, GLint internalFormat, size_t width, size_
loadNewTexture( _imageProperties );
}

Window::Window( Reader& reader )
Window::Window( avtranscoder::VideoReader& reader )
{
_reader = &reader;
_width = _reader->getWidth();
Expand Down Expand Up @@ -124,7 +124,7 @@ Window::Window( Reader& reader )

void Window::launch()
{
displayNextFrame();
displayFirstFrame();
glutMainLoop();
}

Expand Down Expand Up @@ -220,11 +220,6 @@ void Window::keyboard( unsigned char k, int x, int y )
case 'a':
showAlphaChannelTexture();
break;

case 'm':
_reader->printMetadatas();
break;

case 'H':
if( shift )
{
Expand Down Expand Up @@ -398,8 +393,7 @@ void Window::displayHelp()
{
static const std::string kViewerHelp =
"Av Player Viewer Help\n" \
"i : information about image (dimensions, bit depth, channels)\n"\
"m : full metadatas of media\n"\
"i : information about image (dimensions, bit depth, channels) + video stream\n"\
"z : zoom view to 1:1\n"\
"h, F1 : print help\n" \
"SHIFT + V : flip\n" \
Expand All @@ -425,6 +419,9 @@ void Window::displayInformations()
case GL_FLOAT : textureType += "32 float"; break;
}
std::cout << textureType << " " << _width << "x" << _height << std::endl;

// stream info
_reader->printInfo();
}

void Window::move( float x, float y )
Expand Down Expand Up @@ -532,14 +529,16 @@ void Window::showAlphaChannelTexture( )

void Window::displayNextFrame()
{
const char* buffer = _reader->readNextFrame();
const char* buffer = (const char*)_reader->readNextFrame()->getData();
loadNewTexture( buffer, _reader->getComponents(), _reader->getWidth(), _reader->getHeight(), GL_RGB, GL_UNSIGNED_BYTE );
display();
}

void Window::displayPrevFrame()
{
const char* buffer = _reader->readPrevFrame();
const char* buffer = (const char*)_reader->readPrevFrame()->getData();
loadNewTexture( buffer, _reader->getComponents(), _reader->getWidth(), _reader->getHeight(), GL_RGB, GL_UNSIGNED_BYTE );
display();
}

void Window::displayFirstFrame()
Expand All @@ -549,8 +548,9 @@ void Window::displayFirstFrame()

void Window::displayAtFrame( const size_t frame )
{
const char* buffer = _reader->readFrameAt( frame );
const char* buffer = (const char*)_reader->readFrameAt( frame )->getData();
loadNewTexture( buffer, _reader->getComponents(), _reader->getWidth(), _reader->getHeight(), GL_RGB, GL_UNSIGNED_BYTE );
display();
}

void Window::loopPlaying( int value )
Expand Down
6 changes: 3 additions & 3 deletions app/avPlay/Window.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

#include <string>

#include "Reader.hpp"
#include <AvTranscoder/reader/VideoReader.hpp>

class Window
{
public:
Window( Reader& reader );
Window( avtranscoder::VideoReader& reader );

void launch();

Expand Down Expand Up @@ -43,7 +43,7 @@ class Window

static void loopPlaying( int value );

static Reader* _reader;
static avtranscoder::VideoReader* _reader;

static size_t _width;
static size_t _height;
Expand Down
Loading