Hi ,
I am trying to develop a application which reads from a buffer,
transforms into different format and writes into a different buffer. I am
trying to use the custom IO context. my code for writing into stream is as
follows:
filename = "output_file.flv";
fmt = av_guess_format("flv", filename, NULL);
// allocate the output media context
oc = avformat_alloc_context();
unsigned char *buffer = (unsigned char *)av_malloc(bsize);
FILE *fr = fopen(filename,"w");
pb2 = avio_alloc_context(buffer, bsize, 1, fr, NULL, write_packet2,
NULL);
oc->pb = pb2;
pb2->write_flag =1;
oc->flags = AVFMT_FLAG_CUSTOM_IO;
oc->oformat = fmt;
if((avformat_open_input(&oc,0, 0, 0)) != 0)
{
printf("format could not open input");
exit(0);
}
.
.
.
my write packet function:
int write_packet2(void *opaque, uint8_t *buf, int buf_size)
{
FILE* f= (FILE *)opaque;
return fwrite(buf,1, buf_size,f);
}
This gets stuck in avformat_open_input function and never comes out of it.
So please tell what is the problem. Or if there is some sample code for
similar work.
Regards,
Nitin
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user