On Thu, 2010-07-22 at 23:40 +0900, Nhat Huy wrote: > On Thu, Jul 22, 2010 at 7:20 PM, Tomas Härdin <[email protected]>wrote: > > > On Thu, 2010-07-22 at 18:26 +0900, Nhat Huy wrote: > > > My input file points to a ES bitstream, that's why I can not pass a char* > > > file name to av_open_input_file. > > > > > > Any helps will appreciated. > > > Thanks. > > > > > > > > > > > > On Thu, Jul 22, 2010 at 6:18 PM, Nhat Huy <[email protected]> wrote: > > > > > > > Hi all, > > > > > > > > I have a problem with the function av_open_input_file. > > > > > > > > As normal , we can use it like this: > > > > > > > > if(av_open_input_file(&pFormatCtx, argv[1], NULL, 0, NULL)!=0) > > > > return -1; // Couldn't open file > > > > > > > > My problem is that I can not pass argv[1] into this function, now I > > have to > > > > pass a file pointer, which already is opened by fopen in another > > function. > > > > > > > > Can anyone help me with this problem ? I stuck with it. > > > > > > > > Best regards, > > > > Huy. > > > > > > > > > > > > Check out how the "pipe" protocol works. Use fileno() to get the file > > descriptor corresponding to the given FILE*. IIRC you do something like > > "pipe:<fd>", like "pipe:0" to read from stdin. > > > > You could also possibly hack it using named pipes, but I suspect the > > above method is the easiest. > > > > /Tomas > > > > _______________________________________________ > > libav-user mailing list > > [email protected] > > https://lists.mplayerhq.hu/mailman/listinfo/libav-user > > > > > > Thanks Tomas. > > According to your reply. > Is the following code right ? > > FILE* input; > input = fopen(filename,"rb"); > fd = fileno(input); > if(av_open_input_file(&pFormatCtx, "pipe:fd", NULL, 0, NULL)!=0) > return -1; // Couldn't open file > > Thank you very much. > Huy
Uhm.. You need to use sprintf(), like:
char temp[32];
sprintf(temp, "pipe:%i", fd);
if(av_open_input_file(&pFormatCtx, temp, NULL, 0, NULL)!=0)
return -1; // Couldn't open file
/Tomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
