lummax
56bb62eae3
filter/graph: implement Send
and Sync
2015-09-30 18:02:09 +02:00
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