func: int avcodec_decode_audio3(AVCodecContext *avctx,int16_t *samples,int *frame_size_ptr,AVPacket *avpkt) int ret ; if ( avctx -> get_buffer != avcodec_default_get_buffer )  avctx -> get_buffer = avcodec_default_get_buffer; avctx -> release_buffer = avcodec_default_release_buffer; ret = avcodec_decode_audio4 ( avctx , & frame , & got_frame , avpkt ); int avcodec_decode_audio4(AVCodecContext *avctx,AVFrame *frame,int *got_frame_ptr,const AVPacket *avpkt) if ( ! avpkt -> data && avpkt -> size )  if ( ( avctx -> codec -> type ) != AVMEDIA_TYPE_AUDIO )  avcodec_get_frame_defaults ( frame ); void avcodec_get_frame_defaults(AVFrame *frame) memset ( frame , 0 , sizeof ( AVFrame ) ); frame -> pts = frame -> pkt_dts = frame -> pkt_pts = ( ( int64_t ) 0x8000000000000000UL ); av_frame_set_best_effort_timestamp ( frame , ( ( int64_t ) 0x8000000000000000UL ) ); av_frame_set_pkt_duration ( frame , 0 ); av_frame_set_pkt_pos ( frame , ( - 1 ) ); av_frame_set_pkt_size ( frame , - 1 ); frame -> key_frame = 1; frame -> format = - 1; frame -> extended_data = frame -> data; 