Skip to content

Add feature: set frame (v2) #131

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 39 commits into from
Nov 25, 2014

Conversation

cchampet
Copy link
Member

Same PR as #124 but without commit 1b0235f
"StreamTranscoder: constructor can take an IInputEssence"

This commit adds an important feature to the project, but this is not the goal of this PR. So this work will be the subject off an other PR (smaller).

Clement Champetier added 30 commits October 31, 2014 18:40
* Do not duplicate getters with AudioFrameDesc (getSampleRate,
getChannels...).
* Keep symmetry with VideoCodec (rename getFrameDesc to
getAudioFrameDesc).
Add OptionArray and OptionMap.
* Easier to manipulate complexe data (in AvTranscoder and in other
libraries...).
* Remove forward declaration of 'Option': need to include 'Context' to
get 'OptionArray' typedef.
* Test NULL pointer to avoid possible crash.
* Do not skip format name with no video track possible.
Remove assert which are already tested before calling init (private)
function.
We delete all the 'StreamTranscoder' in destructor of 'Transcoder':
can't add a reference to a stream from outside like this.
…Index

Symmetry with other processTranscode method.
* An external library could need to update a specific stream during
process.
* Also add a getter to the current Essence in StreamTranscoder, for the
same reason above.
* 2 tests in the python file:
     * Generate a video stream, and set its frame during process.
     * Generate a audio stream, and set its frame during process.
* Swig: add template to have access to DataBuffer methods in bindings.
* IInputEssence: add virtual method setFrame. Reasons:
     * avoid cast when setFrame.
     * can access this feature whithout issue in bindings.
     * it could be a case to set some frames of a stream which is from
an input file (still not implemented).
* The functions returns duration of last packet added.
* Not what we expected, and not used.
* The method setOutputFps does not do what the user expected: the fps of
Transcoder is only used for progress bar (no consequencies in transcode
process !).
* This kind of method must be implemented in the outputStream on which
we want to update the fps.
This private function decodes the next frame (call
avcodec_decode_audio4).
* Return false as status of decoding if size of frame is 0.
Symmetry with AvInputAudio: add private function decodeNextFrame.
Get Video / Audio FrameDesc from a frameDesc instead of a link to a
codec.
Skip the first one which was an undefined codec in the enum list.
Clement Champetier added 9 commits November 3, 2014 13:47
* Manage memory of StreamTranscoder by spliting streams into 2 vectors.
* Add pyTest "testTranscoderAdd" to test if we correctly manage memory.
Get only one instruction "new".
…into dev_setFrame_v2

Conflicts:
	src/AvTranscoder/transcoder/Transcoder.cpp
	src/AvTranscoder/transcoder/Transcoder.hpp
Fix pyTest testSetFrame.
@MarcAntoine-Arnaud MarcAntoine-Arnaud merged commit 175b1a8 into avTranscoder:master Nov 25, 2014
@cchampet cchampet deleted the dev_setFrame_v2 branch January 30, 2015 16:35
valnoel added a commit to valnoel/avTranscoder that referenced this pull request Mar 17, 2015
…mesAndSamples

PyTest: transcode MOV + check nb samples/frames
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants