2012-07-20 3 views

답변

5

당신은 (libavutil/error.c에서 촬영) 이동 :

{ ERROR_TAG(BSF_NOT_FOUND),  "Bitstream filter not found"      }, 
{ ERROR_TAG(BUG),    "Internal bug, should not have happened"   }, 
{ ERROR_TAG(BUG2),    "Internal bug, should not have happened"   }, 
{ ERROR_TAG(BUFFER_TOO_SMALL), "Buffer too small"        }, 
{ ERROR_TAG(DECODER_NOT_FOUND), "Decoder not found"        }, 
{ ERROR_TAG(DEMUXER_NOT_FOUND), "Demuxer not found"        }, 
{ ERROR_TAG(ENCODER_NOT_FOUND), "Encoder not found"        }, 
{ ERROR_TAG(EOF),    "End of file"         }, 
{ ERROR_TAG(EXIT),    "Immediate exit requested"      }, 
{ ERROR_TAG(EXTERNAL),   "Generic error in an external library"   }, 
{ ERROR_TAG(FILTER_NOT_FOUND), "Filter not found"        }, 
{ ERROR_TAG(INVALIDDATA),  "Invalid data found when processing input"  }, 
{ ERROR_TAG(MUXER_NOT_FOUND), "Muxer not found"        }, 
{ ERROR_TAG(OPTION_NOT_FOUND), "Option not found"        }, 
{ ERROR_TAG(PATCHWELCOME),  "Not yet implemented in FFmpeg, patches welcome" }, 
{ ERROR_TAG(PROTOCOL_NOT_FOUND), "Protocol not found"        }, 
{ ERROR_TAG(STREAM_NOT_FOUND), "Stream not found"        }, 
{ ERROR_TAG(UNKNOWN),   "Unknown error occurred"       }, 

하지만이 버전에 의존하는 방식이며 라이브러리가 당신에게 오류 코드의 문자열 표현을 줄 수 있도록 av_strerror()를 사용하는 것이 좋습니다.

+3

av_err2str이 관련되었을 수 있습니다. – rogerdpack

7

av_strerror()을 사용하면 오류 코드의 문자열 표현을 가져올 수 있습니다.

간단히 살펴보고 싶다면 libavutil/error.clibavutil/error.h의 문서를 참조하십시오. 여기

+1

방금 ​​시도했는데 "오류 번호 -2가 발생했습니다"XD –

1

대부분의 함수는 음수 오류를 반환합니다. 그래서 당신은 RET는 정수 함수에서 반환

1

사용

printf("%s", av_err2str(ret)); 

을 av_strerror (-returnvalue)를 호출해야합니다 (예를 들어, avformat_open_input (...)).

관련 문제