向av_freep传入的是指向某个内存区域的指针的地址(也可以说指向这个指针的指针)。
该函数用来释放掉这块内存区域。
void av_freep(void *arg)
{ void **ptr = (void **)arg; av_free(*ptr); *ptr = NULL;}
这么设计应该是为了改变指针arg本身,所以函数内部ptr才被设计为指向指针arg的指针 的指针。
arg是个地址,该地址存放指向某个内存区域的指针的地址。 arg=&buffer,arg是指针buffer的内存地址。
void **ptr = (void **)arg; *ptr就是指向arg的指针。 *ptr=&arg