Hi, I'm using mux.c example to write a file called a.mp4.
In order to do this I need to use the write_packet callback.
So, in the mux.c example file, after the line 566 I have added these lines of
codes:
*566*
/* allocate the output media context */
avformat_alloc_output_context2(&oc, NULL, NULL, filename);
if (!oc) {
printf("Could not deduce output format from file extension: using
MPEG.\n");
avformat_alloc_output_context2(&oc, NULL, "mpeg", filename);
}
if (!oc)
return 1;
*// my code*
pBuffer= (uint8_t*)av_malloc(BUFFERSIZE);
pAVIOContext= avio_alloc_context(pBuffer, BUFFERSIZE, 1, this, nullptr,
*write_packet*, nullptr);
*// my code*
*oc->pb= pAVIOContext;*
After that I have removed the lines
*599*
/* open the output file, if needed */
if (!(fmt->flags & AVFMT_NOFILE)) {
ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);
if (ret < 0) {
fprintf(stderr, "Could not open '%s': %s\n", filename,
av_err2str(ret));
return 1;
}
}
Now my callback is called but the file produced is different from the one
produced by avio_open() (without using the callback).
Is my approach correct or have I to use another way in order to use
write_packet callback?
--
+39.347.4070897
http://www.labcsp.com[1]
http://www.denisgottardello.it[2]
GMT+1
Skype: mrdebug
--------
[1] http://www.labcsp.com
[2] http://www.denisgottardello.it
_______________________________________________
Libav-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".