2014-02-28 11 views
2

libaf와 함께 libav를 사용하여 오디오를 aac으로 인코딩합니다. 다음은 논리입니다 :libfaac : 대기열 입력 시간이 뒤로입니다.

frames[n] 
i = 0 ; 
while (there are frames) 
{ 
    cur_frame = frames[i]; 
    av_encode_audio(frame, ...., &frame_finished); 
    if(frame_finished) 
    { 
    i++; 
    } 
} 

하지만 난 몇 프레임이 성가신 경고를 얻고있다 "큐 입력 시간 뒤로이다!"

답변

2

답변은 매우 간단합니다. 동일한 프레임을 libfaac에 다시 전달해야하는 것은 아니며, 이므로 frame_finished가 1이 아니더라도 다음 프레임으로 이동해야합니다.

다음과 같이 같아야합니다

frames[n] 
i = 0 ; 
while (there are frames) 
{ 
    cur_frame = frames[i]; 
    av_encode_audio(frame, ...., &frame_finished); 
    i++; 
}