在FFmpeg中,av_free()
和av_freep()
都是用于釋放內存的函數。
av_free()
函數用于釋放單個指針指向的內存。它接受一個指向要釋放內存的指針作為參數,并將該指針設置為NULL,以避免懸空指針的問題。
av_freep()
函數用于釋放指向指針數組的指針。它接受一個指向指針數組的指針作為參數,并將該指針數組中的每個指針都釋放,并將它們設置為NULL。
簡而言之,av_free()
用于釋放單個指針指向的內存,而av_freep()
用于釋放指向指針數組的指針以及其中的每個指針。
以下是它們的函數原型:
void av_free(void *ptr);
void av_freep(void **ptr);
需要注意的是,在使用這兩個函數之前,確保已經調用了相應的初始化函數,如avformat_network_init()
,以正確初始化FFmpeg庫。