[Libav-user] avformat_open_input error with custom IO
Mohamed Moanis
mohamed_moanis at outlook.com
Sun Jun 21 12:57:30 CEST 2015
I am trying to implement a custom IO read, where I have some jpeg frames coming as byte array and I have to decode them for later processing.For now my function just read the first two successive frames, then the call to avformat_open_input return -1094995529
uint8_t* buffer = NULL, * avioCxt_buffer = NULL; buffer_data bd; int ret = 0;
bd.ptr = (uint8_t *) pJPEGFrame; bd.size = len;
// allocate the context data structure if ( (*outputFormatCxt = avformat_alloc_context() ) == NULL) { fprintf(stderr, "convert_JPEG_Frame_TO_AVFrame @line(%d) - failed to allocate memory for context", __LINE__); return -1; }
if ( (avioCxt_buffer = (uint8_t *) av_malloc(len)) == NULL) { fprintf(stderr, "convert_JPEG_Frame_TO_AVFrame @line(%d) - failed to allocate memory", __LINE__); avformat_close_input(outputFormatCxt); return -1; }
if ( (*pAvIOCxt = avio_alloc_context(avioCxt_buffer, len, 0, &bd, read_packet, NULL, NULL)) == NULL) { fprintf(stderr, "convert_JPEG_Frame_TO_AVFrame @line(%d) - failed to allocate memory", __LINE__); return -1; }
(*outputFormatCxt)->pb = *pAvIOCxt; if ( (ret = avformat_open_input(outputFormatCxt, NULL, NULL, NULL)) < 0) { fprintf(stderr, "convert_JPEG_Frame_TO_AVFrame @line(%d) - failed to allocate memory", __LINE__); return -1; }
I am following the avio_read example using the same read callback function for the avio context.
Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20150621/27e42c85/attachment.html>
More information about the Libav-user
mailing list