~ubuntu-branches/ubuntu/jaunty/xvidcap/jaunty-proposed

« back to all changes in this revision

Viewing changes to ffmpeg/libavformat/ipmovie.c

  • Committer: Bazaar Package Importer
  • Author(s): Lionel Le Folgoc, Andrew Starr-Bochicchio, Lionel Le Folgoc
  • Date: 2008-12-26 00:10:06 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20081226001006-2040ls9680bd1blt
Tags: 1.1.7-0.2ubuntu1
[ Andrew Starr-Bochicchio ]
* Merge from debian-multimedia (LP: #298547), Ubuntu Changes:
 - For ffmpeg-related build-deps, fix versionized dependencies
   as the ubuntu versioning is different than debian-multimedia's.

[ Lionel Le Folgoc ]
* LP: #311412 is fixed since the 1.1.7~rc1-0.1 revision.
* debian/patches/03_ffmpeg.diff: updated to fix FTBFS due to libswscale API
  change (cherry-pick from Gentoo #234383).

Show diffs side-by-side

added added

removed removed

Lines of Context:
507
507
 
508
508
static int ipmovie_probe(AVProbeData *p)
509
509
{
510
 
    if (p->buf_size < IPMOVIE_SIGNATURE_SIZE)
511
 
        return 0;
512
510
    if (strncmp(p->buf, IPMOVIE_SIGNATURE, IPMOVIE_SIGNATURE_SIZE) != 0)
513
511
        return 0;
514
512
 
518
516
static int ipmovie_read_header(AVFormatContext *s,
519
517
                               AVFormatParameters *ap)
520
518
{
521
 
    IPMVEContext *ipmovie = (IPMVEContext *)s->priv_data;
522
 
    ByteIOContext *pb = &s->pb;
 
519
    IPMVEContext *ipmovie = s->priv_data;
 
520
    ByteIOContext *pb = s->pb;
523
521
    AVPacket pkt;
524
522
    AVStream *st;
525
523
    unsigned char chunk_preamble[CHUNK_PREAMBLE_SIZE];
541
539
     * it; if it is the first video chunk, this is a silent file */
542
540
    if (get_buffer(pb, chunk_preamble, CHUNK_PREAMBLE_SIZE) !=
543
541
        CHUNK_PREAMBLE_SIZE)
544
 
        return AVERROR_IO;
 
542
        return AVERROR(EIO);
545
543
    chunk_type = AV_RL16(&chunk_preamble[2]);
546
544
    url_fseek(pb, -CHUNK_PREAMBLE_SIZE, SEEK_CUR);
547
545
 
553
551
    /* initialize the stream decoders */
554
552
    st = av_new_stream(s, 0);
555
553
    if (!st)
556
 
        return AVERROR_NOMEM;
 
554
        return AVERROR(ENOMEM);
557
555
    av_set_pts_info(st, 33, 1, 90000);
558
556
    ipmovie->video_stream_index = st->index;
559
557
    st->codec->codec_type = CODEC_TYPE_VIDEO;
568
566
    if (ipmovie->audio_type) {
569
567
        st = av_new_stream(s, 0);
570
568
        if (!st)
571
 
            return AVERROR_NOMEM;
 
569
            return AVERROR(ENOMEM);
572
570
        av_set_pts_info(st, 33, 1, 90000);
573
571
        ipmovie->audio_stream_index = st->index;
574
572
        st->codec->codec_type = CODEC_TYPE_AUDIO;
590
588
static int ipmovie_read_packet(AVFormatContext *s,
591
589
                               AVPacket *pkt)
592
590
{
593
 
    IPMVEContext *ipmovie = (IPMVEContext *)s->priv_data;
594
 
    ByteIOContext *pb = &s->pb;
 
591
    IPMVEContext *ipmovie = s->priv_data;
 
592
    ByteIOContext *pb = s->pb;
595
593
    int ret;
596
594
 
597
595
    ret = process_ipmovie_chunk(ipmovie, pb, pkt);
598
596
    if (ret == CHUNK_BAD)
599
597
        ret = AVERROR_INVALIDDATA;
600
598
    else if (ret == CHUNK_EOF)
601
 
        ret = AVERROR_IO;
 
599
        ret = AVERROR(EIO);
602
600
    else if (ret == CHUNK_NOMEM)
603
 
        ret = AVERROR_NOMEM;
 
601
        ret = AVERROR(ENOMEM);
604
602
    else if (ret == CHUNK_VIDEO)
605
603
        ret = 0;
606
604
    else
611
609
 
612
610
static int ipmovie_read_close(AVFormatContext *s)
613
611
{
614
 
//    IPMVEContext *ipmovie = (IPMVEContext *)s->priv_data;
 
612
//    IPMVEContext *ipmovie = s->priv_data;
615
613
 
616
614
    return 0;
617
615
}