static int ast_write_packet(AVFormatContext *s, AVPacket *pkt)

{

    AVIOContext *pb = s->pb;

    ASTMuxContext *ast = s->priv_data;

    AVCodecContext *enc = s->streams[0]->codec;

    int size = pkt->size / enc->channels;



    if (enc->frame_number == 1)

        ast->fbs = size;



    ffio_wfourcc(pb, "BLCK");

    avio_wb32(pb, size); /* Block size */



    /* padding */

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);



    avio_write(pb, pkt->data, pkt->size);



    return 0;

}

static int ast_write_packet(AVFormatContext *s, AVPacket *pkt)

{

    AVIOContext *pb = s->pb;

    ASTMuxContext *ast = s->priv_data;

    AVCodecContext *enc = s->streams[0]->codec;

    int size = pkt->size / enc->channels;



    if (enc->frame_number == 1)

        ast->fbs = size;



    ffio_wfourcc(pb, "BLCK");

    avio_wb32(pb, size); 



    

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);



    avio_write(pb, pkt->data, pkt->size);



    return 0;

}

static int FUNC_0(AVFormatContext *VAR_0, AVPacket *VAR_1)

{

    AVIOContext *pb = VAR_0->pb;

    ASTMuxContext *ast = VAR_0->priv_data;

    AVCodecContext *enc = VAR_0->streams[0]->codec;

    int VAR_2 = VAR_1->VAR_2 / enc->channels;



    if (enc->frame_number == 1)

        ast->fbs = VAR_2;



    ffio_wfourcc(pb, "BLCK");

    avio_wb32(pb, VAR_2); 



    

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);

    avio_wb64(pb, 0);



    avio_write(pb, VAR_1->data, VAR_1->VAR_2);



    return 0;

}

static int FUNC_0(AVFormatContext *VAR_0, AVPacket *VAR_1)
{ AVIOContext *pb = VAR_0->pb; ASTMuxContext *ast = VAR_0->priv_data; AVCodecContext *enc = VAR_0->streams[0]->codec; int VAR_2 = VAR_1->VAR_2 / enc->channels; if (enc->frame_number == 1)
ast->fbs = VAR_2; ffio_wfourcc(pb, "BLCK"); avio_wb32(pb, VAR_2); avio_wb64(pb, 0); avio_wb64(pb, 0); avio_wb64(pb, 0); avio_write(pb, VAR_1->data, VAR_1->VAR_2); return 0; }