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

Reply via email to