--- On Fri, 12/6/09, anand saggi <[email protected]> wrote:
From: anand saggi <[email protected]> Subject: [libav-user] Correct usage of "av_open_input_stream" ? To: [email protected] Date: Friday, 12 June, 2009, 2:54 PM Hi, I am trying to encode buffered raw image into an .mpeg video. searching through the forums I found out to make my own url protocol an register it with ffmpeg.Since I am new to FFMPEG, I tried it out and its not working. Could someone please suggest me where I am wrong, the code snippet is: /*=====================================================================================*/ AVProbeData *pd; int n; register_protocol(&hpany_protocol); fill_yuv_image(tmp_picture, 0, 640, 480); //I am trying to encode the tmp_picture->data, taking it as a raw buffer for testing, taken from output_example.c pd = (AVProbeData *)malloc(sizeof(AVProbeData)); pd->buf_size = 3200; pd->buf = (unsigned char *)malloc(pd->buf_size); pd->filename = "__url_prot"; if((n = hpany_write(pd,(unsigned char *)tmp_picture->data,sizeof(tmp_picture->data))) < sizeof(tmp_picture->data)){ printf("\nOPEN_VID: Error in Hpany_write"); return TRANS_FAILURE; } n = init_put_byte(&s, pd->buf, pd->buf_size, 1, NULL, NULL, NULL, NULL); The error is in the above line where no read callback is provided,all callback are NULL. if (n != 0){ printf("\nOPEN_VID: Error in init_put_byte"); return TRANS_FAILURE; } if((m_pInputFormat = av_probe_input_format(pd, 1))==NULL){ printf("\nOPEN_VID: Error in av_probe_input_format"); return TRANS_FAILURE; } s.is_streamed = 1; if((av_open_input_stream(&oc, &s, "", m_pInputFormat, NULL))== NULL){ printf("\nError in opening Input stream"); return TRANS_FAILURE; } /*=========================================================== Where the hpany_write is: =============================================================*/ { printf("\nsize of raw data = %d, size of buf= %d\n",size,h->buf_size); printf("\nRaw Data = %s",raw_data); memcpy(h->buf, raw_data, size); printf("\nBuf Data = %s",h->buf); return size; } /*================================================================= The op I get is something like: ==================================================================*/ Output #0, avi, to 'op.mpg': Stream #0.0: Video: mpeg2video, yuv420p, 288x288, q=2-31, 2000 kb/s, 25.00 t b(c) In Hpany Write size of raw data = 16, size of buf= 3200 Raw Data = P Buf Data = P OPEN_VID: Error in av_probe_input_formatAPP:Error in Open Video Thanks Anand _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user Bring your gang together. Do your thing. Find your favourite Yahoo! group at http://in.promos.yahoo.com/groups/ _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
