268 Commits

Author SHA1 Message Date
lummax
7f0291bf78 examples/transcode-audio: set global headers if needed 2015-09-14 13:57:20 +02:00
lummax
79ecba2fad codec/context: add set_flags() method 2015-09-14 13:55:19 +02:00
lummax
855f3fd618 format/output: add flags() method 2015-09-14 13:54:17 +02:00
lummax
46f198033f codec: add Flags (CODEC_FLAG_*) 2015-09-14 13:53:55 +02:00
lummax
a76cdd7086 format: add Flags (AVFMV_*) 2015-09-14 13:53:48 +02:00
lummax
738030bb92 examples/transcode-audio: set encoder time base 2015-09-13 20:21:34 +02:00
lummax
bc2a39a48b codec/encoder: add set_time_base()
The documentation [1] states: `encoding: MUST be set by user`.

[1]: https://ffmpeg.org/doxygen/trunk/structAVCodecContext.html#ab7bfeb9fa5840aac090e2b0bd0ef7589
2015-09-13 20:21:07 +02:00
meh
b50a3673a1 examples/transcode-audio: do not panic in case of decoding error 2015-09-12 20:42:24 +02:00
meh
a7fcbd81fa examples/transcode-audio: avoid packet reallocation 2015-09-12 20:39:06 +02:00
lummax
71d23d0f92 examples/transcode-audio: fix on input with multiple streams
On input files with muliple streams the best audio streams gets transcoded. If
this stream happens to have an `index > 0` the transcoding crashes as no
associated output stream is available.

This commit fixes this by using the first (and only) output stream.
2015-09-12 14:18:09 +02:00
lummax
a84b30b3f0 codec/audio: fix ChannelLayoutIter.best()
Somehow the condition `cur.channels() > cur.channels()` slipped in which will
always be `false`. The correct condition is `cur.channels() > acc.channels()`.
2015-09-12 09:24:26 +02:00
lummax
b06ebec3b6 examples/transcode-audio: use ChannelLayoutIter.best() 2015-09-11 18:27:50 +02:00
lummax
c8a38a926f codec/audio: implement ChannelLayoutIter.best()
Is some cases the decoder channel layout is not supported by the selected
encoder. A selection from the channel layouts supported by the encoder is
needed. For this the method `best()` is introduced.
2015-09-11 18:26:40 +02:00
lummax
402657cbfb examples/transcode-audio: dump filter graph as text 2015-09-09 20:25:34 +02:00
lummax
056293a244 filter/graph: add dump() method 2015-09-09 20:25:27 +02:00
lummax
91134301a5 encoder/video: add getter methods needed for video transcoding 2015-09-09 20:05:42 +02:00
lummax
45b1d9ab9b codec/subtitle: remove unneeded import 2015-09-09 19:39:04 +02:00
lummax
d920fcce7d examples/transcode-audio: fix compilation error 2015-09-09 19:38:45 +02:00
meh
7f130a7448 examples/transcode-audio: update pts setting API usage 2015-09-09 16:48:10 +02:00
meh
8d8e2aa94e codec/subtitle: properly use Option for pts handling 2015-09-09 16:45:16 +02:00
meh
3f282a8202 util/frame: make set_pts take an Option 2015-09-09 16:44:58 +02:00
meh
bc5ef9cdcf examples/transcode-audio: add audio transcoding example 2015-09-09 14:31:26 +02:00
meh
3fd11a4c99 dictionary/immutable: fix to_owned lifetime 2015-09-09 14:19:08 +02:00
lummax
c6b6f3720a dictionary/mutable: fix set() implementation 2015-09-09 13:49:59 +02:00
lummax
7c42d6a2e9 util/frame: implement set_pts() 2015-09-09 13:49:20 +02:00
lummax
87ea1bd196 format: refactor format handling 2015-09-09 13:48:10 +02:00
lummax
d1e693965c filter/sink: add set_frame_size() 2015-09-08 19:11:18 +02:00
lummax
29450c4260 {en,de}coder/audio: add frame_size() method 2015-09-08 19:11:18 +02:00
lummax
ced43fe83b format/context: implement set_metadata() 2015-09-08 18:46:40 +02:00
meh
f2fb08e491 util/dictionary: refactor and make more sound 2015-09-08 18:26:29 +02:00
lummax
620958d684 util/dictionary: implement Clone for Dictionary 2015-09-04 17:14:55 +02:00
lummax
c1e907ad70 util/dictionary: implement get() 2015-09-04 17:09:36 +02:00
lummax
9cc2d28223 util/dictionary: implement set() 2015-09-04 17:04:47 +02:00
meh
2a3a4e6169 filter: add avfilter wrapper 2015-09-04 16:36:04 +02:00
meh
67a2c60a33 util/option: add some basic options handling 2015-09-04 16:34:02 +02:00
meh
ffb193ac68 examples/metadata: update to new format API 2015-09-04 16:32:39 +02:00
meh
1f80007e5e format: split input and output formats 2015-09-04 16:30:19 +02:00
meh
fbf5cd94eb codec: make lifetimes saner 2015-09-04 16:28:56 +02:00
lummax
a2979c828d encoder/audio: add getters for fields where setters exist 2015-09-02 16:15:02 +02:00
lummax
34cbb9b1e6 format/context: add write_trailer() method 2015-09-02 16:14:53 +02:00
lummax
a082998e48 format/context: add write_header{_with}() methods 2015-09-02 16:14:38 +02:00
lummax
a48233cbfe format/context: add new_stream() method 2015-09-02 16:13:31 +02:00
lummax
471a768b8e format/context: implement Context opening as output 2015-09-02 14:52:02 +02:00
lummax
9b612fc90f format: rename open* function to open_input* 2015-09-02 14:51:56 +02:00
lummax
b5c7d27f96 frame/video: implement From<Frame> 2015-09-02 12:43:52 +02:00
lummax
71d14e15ba frame/audio: implement From<Frame> 2015-09-02 12:43:44 +02:00
lummax
0e83f8a0c4 encoder/audio: add set_channels()
For this a method for `ChannelLayout` to retrieve the number of channels was
also added.
2015-08-31 22:59:35 +02:00
lummax
5332dabffa util/frame/video: set alignment to 32 in av_frame_get_buffer()
In all places where the function `av_frame_get_buffer()` was used on a video
frame in the ffmpeg sources the value `32` was used as an alignment.
2015-08-31 22:47:29 +02:00
lummax
c0049beaba util/frame/audio: set alignment to 0 in av_frame_get_buffer()
In all places where the function `av_frame_get_buffer()` was used on an audio
frame in the ffmpeg sources the value `0` was used as an alignment.

Also [1] states the value `0` as the default alignment.

[1]: http://www.ffmpeg.org/doxygen/2.7/group__lavu__sampfmts.html#gaa7368bc4e3a366b688e81938ed55eb06
2015-08-31 22:43:46 +02:00
lummax
3091e20f2d codec/packet: fix pts(): return Option 2015-08-30 22:15:20 +02:00