Commit Graph

36 Commits

Author SHA1 Message Date
Ganesh Ajjanagadde
6aaac24d72 avfilter/all: propagate errors of functions from avfilter/formats
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.

All of these were found by using av_warn_unused_result, demonstrating its utility.

Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.

Fixes: CID 1325680, 1325679, 1325678.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
Michael Niedermayer
7093e215d0 Merge commit '6b15874fc2c3f565732201f7907ae1112727d6ae'
* commit '6b15874fc2c3f565732201f7907ae1112727d6ae':
  af_resample: do not touch the timestamps if we are not resampling

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 16:05:33 +02:00
Anton Khirnov
6b15874fc2 af_resample: do not touch the timestamps if we are not resampling
This filter currently assumes that the input audio is continuous and
does some timestamps manipulation based on this assumption.

This is unnecessary if we are only converting the channel layout or the
sample format, without resampling. In such a case, just leave the
timestamps as they are.
2015-07-19 09:39:42 +02:00
Michael Niedermayer
f399f826ee Merge commit 'c060d046aa2f89c0e601a2dcfbce53f0e36cf498'
* commit 'c060d046aa2f89c0e601a2dcfbce53f0e36cf498':
  af_resample: Set the number of samples in the last frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 20:55:23 +02:00
Luca Barbato
c060d046aa af_resample: Set the number of samples in the last frame
Otherwise trailing zeroes would appear.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-20 12:18:01 +03:00
Michael Niedermayer
733db64ce0 Merge commit '0d989dbfc4bc5bc1d563e967449116a7a9865258'
* commit '0d989dbfc4bc5bc1d563e967449116a7a9865258':
  af_resample: check av_opt_set_dict return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 22:04:36 +02:00
Vittorio Giovara
0d989dbfc4 af_resample: check av_opt_set_dict return value
CC: libav-stable@libav.org
Bug-Id: CID 1087076
2014-10-18 16:15:10 +01:00
Michael Niedermayer
17d16008be Merge commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836'
* commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836':
  resample: Avoid off-by-1 errors in PTS calcs.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:47:37 +02:00
Timothy B. Terriberry
6cbbf0592f resample: Avoid off-by-1 errors in PTS calcs.
The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-18 05:01:59 +02:00
Michael Niedermayer
20343cfb51 Merge commit 'ad0fe2f4012031c47268f14b9835088c488e1998'
* commit 'ad0fe2f4012031c47268f14b9835088c488e1998':
  af_resample: Use avresample_get_out_samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:24:48 +02:00
Luca Barbato
ad0fe2f401 af_resample: Use avresample_get_out_samples 2014-05-28 22:50:55 +02:00
Michael Niedermayer
fc10ed2cac Merge commit 'dcc7e4bf1d0913123bfafbc58bf47bd41dd5848d'
* commit 'dcc7e4bf1d0913123bfafbc58bf47bd41dd5848d':
  af_resample: preserve frame properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 21:46:00 +01:00
Anton Khirnov
dcc7e4bf1d af_resample: preserve frame properties 2014-02-24 17:30:48 +01:00
Michael Niedermayer
325f6e0a97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: do not export the filters from shared objects

Conflicts:
	libavfilter/af_amix.c
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_select.c
	libavfilter/f_settb.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_colorbalance.c
	libavfilter/vf_copy.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_format.c
	libavfilter/vf_framestep.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Anton Khirnov
cd43ca0443 lavfi: do not export the filters from shared objects 2013-10-28 15:29:54 +01:00
Paul B Mahol
b211607b5c avfilter: various cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Thilo Borgmann
d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
Anton Khirnov
4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov
7e350379f8 lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Justin Ruggles
9f1223562e lavfi: connect libavresample options to af_resample via AVFilterGraph 2013-02-23 17:07:54 -05:00
Anton Khirnov
565e4993c6 lavfi: merge start_frame/draw_slice/end_frame
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Mans Rullgard
568c70e79e lavfi: convert input/ouput list compound literals to named objects
A number of compilers, for example those from TI and IBM, choke on
these initialisers.  The current style is also quite ugly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Janne Grunau
ac9a89562a af_resample: unref out_buf when avresample_convert returns 0
Fixes CID732273.
2012-10-09 18:43:30 +02:00
Justin Ruggles
7b556be673 af_resample: avoid conversion of identical sample formats for 1 channel
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Anton Khirnov
e7ba5b1de0 lavr: change the type of the data buffers to uint8_t**.
This is more consistent with what the rest of Libav does.

This breaks API.
2012-10-05 13:49:44 +02:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Anton Khirnov
cd99146253 lavfi: add error handling to filter_samples(). 2012-07-09 08:25:19 +02:00
Anton Khirnov
1ffb645662 af_resample: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Justin Ruggles
8ca08066fc lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
Also make this the default value.
2012-07-08 15:22:11 -04:00
Anton Khirnov
6c1e065bd4 lavfi: remove disabled FF_API_SAMPLERATE64 cruft 2012-06-26 13:15:14 +02:00
Janne Grunau
fbc5740566 af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64 2012-06-15 19:10:58 +02:00
Anton Khirnov
803391f719 lavfi: remove request/poll and drawing functions from public API on next bump
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:16 +02:00
Anton Khirnov
b74a1da49d lavfi: make formats API private on next bump.
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Justin Ruggles
e0d8427dce af_resample: remove an extra space in the log output 2012-05-21 18:26:51 -04:00
Anton Khirnov
ff1f51a8aa lavfi: add channel layout/sample rate negotiation. 2012-05-14 21:36:10 +02:00
Anton Khirnov
d371e7b988 lavfi: add lavr-based audio resampling filter. 2012-05-12 18:09:28 +02:00