ffmpeg-bb/doc/examples
Jiasheng Jiang c64cff64a2
examples: Add check and replace av_free() to avoid potential memory errors
Add check for the return value of av_packet_alloc() to avoid potential NULL pointer dereference.
Moreover, replace redundant av_free() with fprintf().

Fixes: 9a38184a14 ("examples/decode_audio: allocate the packet dynamically")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-08-07 03:07:45 +02:00
..
.gitignore doc/examples: Add qsv_transcode example 2022-11-22 13:52:38 +08:00
avio_http_serve_files.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
avio_list_dir.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
avio_read_callback.c examples: Add av_freep to avoid potential memory leak 2025-08-04 01:29:44 +02:00
decode_audio.c examples: Add check and replace av_free() to avoid potential memory errors 2025-08-07 03:07:45 +02:00
decode_filter_audio.c doc/examples/decode_filter_audio: switch to new buffersink options 2024-09-30 09:10:20 +02:00
decode_filter_video.c doc/examples/decode_filter_video: switch to new buffersink options 2024-09-30 09:10:20 +02:00
decode_video.c avcodec: add AVCodecContext.frame_num as 64 bit variant to frame_number 2023-02-13 00:36:46 +01:00
demux_decode.c doc/examples/demux_decode: Simplify loop 2024-05-09 16:17:39 +02:00
encode_audio.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
encode_video.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
extract_mvs.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
filter_audio.c examples: Add proper deallocations to avoid potential memory leaks 2025-08-07 03:07:44 +02:00
hw_decode.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
Makefile examples: rename transcoding to transcode 2023-02-11 17:49:01 +01:00
Makefile.example examples: fix build of mux and resample_audio 2023-07-28 09:20:39 -03:00
mux.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
qsv_decode.c doc/examples/qsv_decode: use av_err2str 2025-05-22 22:26:30 +02:00
qsv_transcode.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
README doc/examples: fix make command, reference Makefile.example 2023-02-11 18:06:02 +01:00
remux.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
resample_audio.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
scale_video.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
show_metadata.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
transcode.c doc/examples/transcode: handle audio encoder frame size restrictions 2024-09-28 17:04:33 +02:00
transcode_aac.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
vaapi_encode.c doc/examples/vaapi_encode: Try to check fwrite() for failure 2024-07-10 18:10:07 +02:00
vaapi_transcode.c doc/examples/vaapi_transcode: Simplify loop 2024-04-25 03:24:58 +02:00

FFmpeg examples README
----------------------

Both following use cases rely on pkg-config and make, thus make sure
that you have them installed and working on your system.


Method 1: build the installed examples in a generic read/write user directory

Copy to a read/write user directory and run:
make -f Makefile.example

It will link to the libraries on your system, assuming the PKG_CONFIG_PATH is
correctly configured.

Method 2: build the examples in-tree

Assuming you are in the source FFmpeg checkout directory, you need to build
FFmpeg (no need to make install in any prefix). Then just run "make examples".
This will build the examples using the FFmpeg build system. You can clean those
examples using "make examplesclean"

If you want to try the dedicated Makefile examples (to emulate the first
method), go into doc/examples and run a command such as
PKG_CONFIG_PATH=pc-uninstalled make -f Makefile.example