604 Commits

Author SHA1 Message Date
meh
a33d97640d software/scaling: add helpers to frame::Video 2015-09-29 01:17:32 +02:00
meh
5883148188 codec/packet: make it Sync 2015-09-29 01:11:36 +02:00
meh
a544f0827c util/frame: make it Sync 2015-09-29 01:11:14 +02:00
meh
572f0f2045 softare: add global helpers to create contexts 2015-09-29 00:14:27 +02:00
meh
c79e8751a9 softare/resampling: add extension helpers for frame::Audio 2015-09-29 00:13:40 +02:00
meh
33a116023e util/frame: make pts return Option<i64> 2015-09-28 02:25:26 +02:00
meh
3ba84fb7ea codec/encoder/video: check the passed frame is in the proper format 2015-09-27 20:30:44 +02:00
meh
e1e6e8cca7 codec/encoder/audio: check the passed frame is in the proper format 2015-09-27 20:30:14 +02:00
meh
d93e465f2b codec/packet: avoid segfault with empty packet writing 2015-09-27 04:47:00 +02:00
meh
a2a75628f4 examples/transcode-audio: take advantage of setters returning self 2015-09-26 18:01:34 +02:00
meh
510e8604b6 *: refactor setters to return self 2015-09-26 18:01:23 +02:00
meh
4747a5a123 codec/packet: style fix 2015-09-26 17:36:27 +02:00
meh
8512c3a265 examples/transcode-audio: update to latest APIs 2015-09-25 21:33:31 +02:00
meh
66284eb045 codec: add magic traits to get codecs by name and id 2015-09-25 21:33:08 +02:00
lummax
bde17a8bae format: add _with() variants to open() 2015-09-25 16:43:17 +02:00
meh
316778ccd9 error: implement From<Error> for io::Error 2015-09-22 04:03:49 +02:00
meh
1fc224fbae codec/packet: add data access and constructor 2015-09-22 02:44:37 +02:00
meh
2ca44d08d4 *: fix UB with CString usage 2015-09-22 02:44:13 +02:00
meh
9ab5841b55 travis: try with travis_wait 2015-09-19 14:45:29 +02:00
meh
c8f3d75d76 cargo: add new build features for ffmpeg-sys 2015-09-19 14:44:56 +02:00
lummax
d908df7ab8 frame/video: add set_kind() method 2015-09-19 12:38:47 +02:00
lummax
20ea25cee5 examples/transcode-audio: add filter/encoder flushing
While this introduces some code duplicates, it seems to be the easy way
without rewriting the whole example.
2015-09-19 12:38:14 +02:00
lummax
c8a95364a2 encoder/{audio,video}: add flush() methods` 2015-09-19 12:37:28 +02:00
lummax
4471ffc934 filter/source: add flush() method 2015-09-19 12:32:59 +02:00
lummax
fc6c0755ef examples/transcode-audio: set {max_}bit_rate 2015-09-18 21:45:26 +02:00
lummax
9f9c044fa9 examples/metadata: fixup max_bit_rate() introduction 2015-09-18 21:45:11 +02:00
lummax
cc054229cf decoder/{audio,video}: add max_bit_rate() 2015-09-18 21:44:58 +02:00
lummax
de8585b24d codec/encoder: add set_max_bit_rate() 2015-09-18 21:44:35 +02:00
lummax
2366506e63 codec/encoder: rename set_rate() to set_bit_rate()
This commit serves the purpose to remove ambiguity:
- The decoder actually calls the getter for this field `bit_rate()`
- The audio decoder/encoder have methods called `{set_}rate()` for the _rate`
- The encoder/audio `set_rate()` shadows the encoder/mod `set_rate()`
2015-09-18 21:44:14 +02:00
lummax
882bef5507 examples/transcode-audio: correct time_base handling 2015-09-18 21:42:02 +02:00
lummax
34ff7bafbf codec/decoder: add time_base() method 2015-09-18 21:41:45 +02:00
meh
f15f26f706 travis: add config 2015-09-18 21:41:00 +02:00
meh
248c1151fc cargo: add local building features 2015-09-18 06:04:25 +02:00
meh
8f52dab1e4 examples/transcode-audio: update import paths 2015-09-17 17:34:00 +02:00
meh
9736980b02 codec/context: make destructors safe 2015-09-17 17:33:31 +02:00
meh
19548810dd *: update to 2.8 2015-09-15 20:53:49 +02:00
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