Commit graph

1635 commits

Author SHA1 Message Date
Sebastian Dröge
d69dda0391 avauddec: Use a GstBuffer instead of a GstAdapter for collecting the output buffers
This might cause less memcpies as the GstMemories of the buffers
are just appended into a single buffer.
2012-12-17 15:58:37 +01:00
Thiago Santos
c445b614f9 avauddec: accumulate buffers from a single input to push it all at once
The base audio decoder wants a 1:1 mapping for input and output
buffers, so this decoder must accumulate data in an adapter and push
it all at once after all input has been processed.

https://bugzilla.gnome.org/show_bug.cgi?id=689565
2012-12-17 15:56:03 +01:00
Sebastian Dröge
faf985e8fb avcodecmap: Only set "formats" field on raw audio/video caps 2012-12-17 13:42:13 +01:00
Sebastian Dröge
0ec5fea211 avcodecmap: Correctly convert GStreamer channel positions to libav channel mask 2012-12-17 13:41:42 +01:00
Sebastian Dröge
a6ede95de7 avcodecmap: Add more and correct restrictions for DV
https://bugzilla.gnome.org/show_bug.cgi?id=600895
2012-12-17 11:11:12 +01:00
Sebastian Dröge
959d9ce553 libav: Fix some compilation errors caused by circular includes 2012-12-12 17:36:33 +00:00
Sebastian Dröge
f211e6431b libav: Update to today's master 2012-12-12 17:20:03 +00:00
Wim Taymans
60ff639cd4 avcodec: set bits_per_coded_sample for G726
Use the bitrate and the samplerate to set the bits_per_coded_sample for G726
because the decoder needs this.
2012-12-12 17:04:00 +01:00
Sebastian Dröge
3837abb264 avauddec: Set frame defaults for the audio decoders too 2012-12-12 15:57:19 +00:00
Sebastian Dröge
7a36bbb873 avcodecmap: Remove some unused functions 2012-12-12 15:54:01 +00:00
Wim Taymans
b333e1204e avaudenc: init frame with defaults
Init the AVFrame with the right method. This sets the extended_data field
correctly that is needed for some formats (G726 for example).
2012-12-12 16:47:19 +01:00
Sebastian Dröge
21ac746f33 avdec: Improve src template caps 2012-12-12 15:42:09 +00:00
Sebastian Dröge
cb9e40ff4c avaudenc: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels 2012-12-12 13:04:54 +00:00
Sebastian Dröge
1bec18edce avauddec: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels 2012-12-12 13:04:38 +00:00
Christiaan Welvaart
338b147374 avprotocol: Port from the URL protocol handler to saner public API 2012-12-12 12:10:27 +00:00
Wim Taymans
4c46f11d5f libav: fix palette support again 2012-12-12 10:12:22 +01:00
Sebastian Dröge
736bda7350 avcodecmap: Take framerate restrictions into account for encoders 2012-12-11 18:56:24 +00:00
Sebastian Dröge
86361bf6df avvidenc: Simplify color formats in the raw video caps 2012-12-11 18:48:34 +00:00
Sebastian Dröge
fbe1221d70 avaudenc: Reorder audio channels if necessary and add proper support for channel layouts 2012-12-11 18:07:34 +00:00
Sebastian Dröge
64a2a8bdae avcodecmap: Take channel layout constraints into account if possible 2012-12-11 17:25:41 +00:00
Sebastian Dröge
b9d0c7110f avcodecmap: Take generic samplerate limitations into account 2012-12-11 16:54:09 +00:00
Sebastian Dröge
90e1c0c21d avcodecmap: Simplify raw audio caps 2012-12-11 16:46:43 +00:00
Sebastian Dröge
9945ae7adc avauddec: Close context when it was opened 2012-12-11 15:14:10 +00:00
Sebastian Dröge
06de84c747 avviddec: Fix memory leak if we already allocated an output buffer for the frame 2012-12-11 10:34:42 +00:00
Wim Taymans
76b8b8c67f Revert "avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame"
This reverts commit 47647e1cac.

Breaks playback when direct rendering is disabled.
The reason is that we set the opaque vaue to NULL and then try to use the NULL
value when we decoded a frame.
2012-12-11 10:24:08 +01:00
Rasmus Rohde
4fc452344a Fix incorrect use of object in log statement. We are given a pointer to the object and should not try to take the address of it. 2012-12-10 15:35:16 +01:00
Руслан Ижбулатов
b7471c1f5b avutils: Add missing includes for Windows
Fixes #689751
2012-12-06 10:45:58 +01:00
Sebastian Dröge
cab519f370 avaudenc: Add support for planar audio formats 2012-12-05 19:28:33 +01:00
Sebastian Dröge
2d7ebf9514 av: Correctly populate the codec context with the defaults 2012-12-05 19:25:37 +01:00
Sebastian Dröge
d840211412 av: Use av_codec_is_{en,de}coder() API instead of private struct fields 2012-12-05 10:52:34 +01:00
Sebastian Dröge
aa4a238506 avauddec: release_buffer is not supposed to be used for audio
And calling it causes crashes in some situations.
2012-12-04 22:09:05 +01:00
Sebastian Dröge
e092f3d411 avauddec: Add support for planar audio formats 2012-12-04 20:45:28 +01:00
Sebastian Dröge
47647e1cac avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame 2012-12-04 20:44:58 +01:00
Sebastian Dröge
f5c112990f av: Port remaining simple bits 2012-12-04 18:36:56 +01:00
Sebastian Dröge
0f206124b6 av: Remove palette support for now
It was never ported to the way how paletted color formats work
in 1.0 anyway and the API changed in libav upstream.
2012-12-04 18:36:37 +01:00
Sebastian Dröge
169825a28e av: Update for some constant changes 2012-12-04 18:36:37 +01:00
Sebastian Dröge
06ed3e4060 av: Port to new avio protocol handler 2012-12-04 18:36:37 +01:00
Luca Barbato
5f03a7d869 av: update to use AVOption variants. 2012-12-04 18:36:30 +01:00
Sebastian Dröge
41e117562c libav: Switch to master (9) 2012-12-04 17:19:11 +01:00
Tim-Philipp Müller
5a823a5fbf avaudenc: log error string as well in debug output 2012-12-02 12:31:43 +00:00
Tim-Philipp Müller
a3d930afbe avaudenc: use sample rate as ticks per second fallback
The 25/1 value presumably came from the video encoder class.
2012-12-01 23:21:41 +00:00
Tim-Philipp Müller
819d4d2a04 avaudenc: fix output timestamping
We need to pass the number of samples encode in the output buffer
to gst_audio_encoder_finish_frame(), not the number of frames.
Fixes output timestamps being way too small, and transcoding
problems.

https://bugzilla.gnome.org/show_bug.cgi?id=689398
2012-12-01 23:05:23 +00:00
Sebastian Dröge
4132a73f0e avvidenc: Implement reset vfunc 2012-11-20 11:56:57 +01:00
Sebastian Dröge
d3f8c5f0cc avvidenc: Don't send any frames downstream when draining unless requested to do so 2012-11-20 11:53:52 +01:00
Sebastian Dröge
5ffd21f1ee avaudenc: Implement draining 2012-11-20 11:51:13 +01:00
Sebastian Dröge
e281493f29 avaudenc: Implement flush vfunc properly 2012-11-20 11:45:34 +01:00
Sebastian Dröge
9456fb86c7 avauddec: Port to non-deprecated avcodec_decode_audio4() API
Fixes bug #666435.
2012-11-20 11:40:10 +01:00
Sebastian Dröge
f4acd40767 avaudenc: Some minor cleanup 2012-11-20 10:55:55 +01:00
Sebastian Dröge
3ffbb6ff94 avaudenc: Use non-deprecated avcodec_encode_audio2() API
This also allows us to always get an output buffer of the required size
instead of risking that it is too small.
2012-11-20 10:53:01 +01:00
Sebastian Dröge
7a29cffc50 avaudenc: Port to audio encoder base class 2012-11-20 10:36:29 +01:00