On 04/16/2014 03:55 PM, Yamusani Vinay wrote:
Thanks for the reply,I checked it got some what I need I have another
doubt here in avio_reading.c it is directly mapping file to a byte
array but what I need is,to ffmpeg I need to pass a sample byte array
with some values i.e then ffmpeg need to play those bytes.
I tried with the following code:
what I did is I am passing a byte array which contains some values
from my java code and copying that to uint *buffer_temp and assigned
it to bd
struct buffer_data {
uint8_t *ptr;
size_tsize; ///< size left in the buffer
};
struct buffer_data bd = { 0 };
jbyte *bytesTemp = (*env)->GetByteArrayElements(env, inputArray,NULL);
buffer_temp = av_malloc(length);
memcpy(buffer_temp,bytesTemp,length);
bd.ptr = buffer_temp;
bd.size = length;
fmt_ctx->pb = bd;
from here I am trying to open file by using below code
if ((ret = avformat_open_input(&fmt_ctx, NULL, NULL, &m_iFormatOpts)) < 0)
{
LOGE("Cannot open input file\n");
return;
}
then I am getting ret <0
So please help me in solving this problem.
Thanks & Regards,
Vinay.
On Mon, Apr 14, 2014 at 11:12 AM, Anshul <[email protected]
<mailto:[email protected]>> wrote:
Yamusani Vinay <[email protected]
<mailto:[email protected]>> wrote:
>Hi All,
>
>I am developing an android app where I need to play music.I know
how to
>play audio using ffmpeg by giving the audio path.but my problem is in
>my
>application I will get audio stream in the form of bytes.So anyone
>please
>help me in playing these audio bytes using ffmpeg.
>
>input:audio stream in the form of bytes.
>
>Thanks,
>Vinay Yamusani.
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Libav-user mailing list
>[email protected] <mailto:[email protected]>
>http://ffmpeg.org/mailman/listinfo/libav-user
Since u have posted at libav I consider you would be using library
not ffmpeg binary.
You should start with avio_ reading.c example at doc/examples.
-Anshul
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
_______________________________________________
Libav-user mailing list
[email protected] <mailto:[email protected]>
http://ffmpeg.org/mailman/listinfo/libav-user
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user
Please don't top Post, Its consider rude.
I think you missed some thing from example.
pb is not the buffer where you can copy your audio data.
In pb you need to register a callback function which will be called when
ffmpeg library require data.
here is how this is done....
avio_ctx = avio_alloc_context(avio_ctx_buffer, avio_ctx_buffer_size,
0, &bd, &read_packet, NULL, NULL);
if (!avio_ctx) {
ret = AVERROR(ENOMEM);
goto end;
}
fmt_ctx->pb = avio_ctx;
-Anshul
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user