~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libavformat/aviobuf.c

  • Committer: Gauvain Pocentek
  • Date: 2012-03-06 11:59:12 UTC
  • mfrom: (66.1.15 precise)
  • Revision ID: gauvain@pocentek.net-20120306115912-h9d6kt9j0l532oo5
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* New upstream snapshot
* upload to unstable
* Build against external libmpeg2
* drop 51_FTBFS_arm.patch again
* no longer build depend on libcdparanoia-dev on the Hurd
* Fix FTBFS on the hurd.
  Thanks to Samuel Thibault <sthibault@debian.org> (Closes: #654974)
* Fix FTBFS on arm
* New upstream snapshot, Closes: #650339, #643621, #481807
* Imported Upstream version 1.0~rc4+svn34492
* Bump standards version
* Bump dependency on libav >= 4:0.8~, Closes: #653887
* Fix build-indep
* Build mplayer-gui again, Closes: #568514
* Drop debian/all-lang-config-mak.sh, no longer needed
* include .dfsg1 in version number
* remove get-orig-source target
* no longer prune compiler flags from the environment
* No longer advertise nor build 3fdx, mga and dxr3 backends,
  Closes: #496106, #442181, #533546
* beautify mplayer version identification string
* Brown paperbag upload.
* Next try to fix build failure on sparce after recent binutils change.
* Brown paperbag upload.
* Really fix build failure on sparc after recent binutils change.
* Properly set Replaces/Conflicts on mplayer2{,-dbg} to avoid
  file overwrite errors.
* Adjust versioning of mplayer listed in the mplayer-dbg's Depends field.
* Fix build failure on sparc after recent binutils change.
* Urgency medium bumped because of RC-level bugfix
  and speeding up x264 transition.
* Update to my @debian.org email.
* Upload to unstable
* Enable joystick support on Linux only, Closes: #638408
* Rebuild fixes toolchain issue on arm, Closes: #637077
* New upstream snapshot
* following the discussion started by Diego Biurrun <diego@biurrun.de>
  in debian-devel, I have prepared a new packaging of 'mplayer'
  (with code that comes from CVS)
* the upstream tar.bz cannot be distributed by Debian, since it contains
   CSS code; so I am repackaging it 
* I have tried my best to address all known issues:
  - the package contains the detailed Copyright made by Diego Biurrun 
  - the package does not contain CSS code, or  AFAIK other code on which 
     there is active patent enforcement
  - there is a script  debian/cvs-changelog.sh  that shows all changes
     done to files included in this source.
    This should comply with GPLv2 sec 2.a  (in spirit if not in letter)
    For this reason, the source code contains CVS directories.
* needs   make (>= 3.80) for 'html-chunked-$(1)' in DOCS/xml/Makefile

* some corrections, as suggested Diego Biurrun
  - binary codecs should go into /usr/lib/codecs (upstream default)
  - better template 'mplayer/install_codecs'
  - an empty 'font=' in mplayer.conf breaks mplayer: postinst corrected
* correction in 'mplayer/cfgnote'
* better mplayer.postinst and mplayer.config

* New upstream release
* better debian/copyright file
* do not ship a skin
* New upstream release
* changed DEB_BUILD_OPTIONS to DEB_BUILD_CONFIGURE ,
  DEB_BUILD_OPTIONS is used as in debian policy
* use gcc-3.4
* changed xlibs-dev to a long list of dependencies, for Debian/etch
* try to adhere to  http://www.mplayerhq.hu/DOCS/tech/binary-packaging.txt
  (see README.Debian for details)
* removed dependency on xlibmesa-dev, disabled opengl
* New upstream release
* Simon McVittie <hacks@pseudorandom.co.uk> wonderful work:
- Work around Debian bug #267442 (glibc's sys/uio.h and gcc's altivec.h have
  conflicting uses for __vector) by re-ordering #includes
- Fix potential symlink attack in ./configure
- Disable support for binary codecs on platforms for which those codecs
  aren't available; also disable the corresponding Debconf note when it's
  inappropriate
- Changed Build-Depends: so it works in pbuilder
- Explicitly build-depend on libjpeg62-dev, libfontconfig1-dev,
  libungif4-dev 
- Tweak debian/rules to avoid certain errors being ignored
- Use --language=all
* provide a target  'debian/rules get-orig-source' 
  that recreates the orig.tar.gz ; then use the above orig.tar.gz
* rewrote some parts of debian/rules
* don't clean and recompile docs if upstream ships them
* mplayer-doc was shipping too much stuff
* translated man pages where not installed properly
* compile with libdv4-dev
* correct README.Debian
* Forgot build-dep on libtheora
* Must not depend on libxvidcore
* New upstream release
* new release.
* rc1 to become 0.90
* new pre-release
* new pre-release
* gtk bug fixed.
* new release.
* version bumped
* 0.60 pre2 release
* 0.60 pre-release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Buffered I/O for ffmpeg system
 
2
 * buffered I/O
3
3
 * Copyright (c) 2000,2001 Fabrice Bellard
4
4
 *
5
5
 * This file is part of Libav.
20
20
 */
21
21
 
22
22
#include "libavutil/crc.h"
 
23
#include "libavutil/dict.h"
23
24
#include "libavutil/intreadwrite.h"
 
25
#include "libavutil/log.h"
 
26
#include "libavutil/opt.h"
24
27
#include "avformat.h"
25
28
#include "avio.h"
26
29
#include "avio_internal.h"
37
40
 */
38
41
#define SHORT_SEEK_THRESHOLD 4096
39
42
 
 
43
#if !FF_API_OLD_AVIO
 
44
static void *ffio_url_child_next(void *obj, void *prev)
 
45
{
 
46
    AVIOContext *s = obj;
 
47
    return prev ? NULL : s->opaque;
 
48
}
 
49
 
 
50
static const AVClass *ffio_url_child_class_next(const AVClass *prev)
 
51
{
 
52
    return prev ? NULL : &ffurl_context_class;
 
53
}
 
54
 
 
55
static const AVOption ffio_url_options[] = {
 
56
    { NULL },
 
57
};
 
58
 
 
59
const AVClass ffio_url_class = {
 
60
    .class_name = "AVIOContext",
 
61
    .item_name  = av_default_item_name,
 
62
    .version    = LIBAVUTIL_VERSION_INT,
 
63
    .option     = ffio_url_options,
 
64
    .child_next = ffio_url_child_next,
 
65
    .child_class_next = ffio_url_child_class_next,
 
66
};
 
67
#endif
40
68
static void fill_buffer(AVIOContext *s);
41
69
static int url_resetbuf(AVIOContext *s, int flags);
42
70
 
140
168
 
141
169
void avio_w8(AVIOContext *s, int b)
142
170
{
143
 
    *(s->buf_ptr)++ = b;
 
171
    *s->buf_ptr++ = b;
144
172
    if (s->buf_ptr >= s->buf_end)
145
173
        flush_buffer(s);
146
174
}
537
565
    int len= s->buffer_size - (dst - s->buffer);
538
566
    int max_buffer_size = s->max_packet_size ? s->max_packet_size : IO_BUFFER_SIZE;
539
567
 
 
568
    /* can't fill the buffer without read_packet, just set EOF if appropiate */
 
569
    if (!s->read_packet && s->buf_ptr >= s->buf_end)
 
570
        s->eof_reached = 1;
 
571
 
540
572
    /* no need to do anything if EOF already reached */
541
573
    if (s->eof_reached)
542
574
        return;
769
801
{
770
802
    int i;
771
803
 
 
804
    if (buflen <= 0)
 
805
        return AVERROR(EINVAL);
772
806
    // reserve 1 byte for terminating 0
773
807
    buflen = FFMIN(buflen - 1, maxlen);
774
808
    for (i = 0; i < buflen; i++)
775
809
        if (!(buf[i] = avio_r8(s)))
776
810
            return i + 1;
777
 
    if (buflen)
778
 
        buf[i] = 0;
 
811
    buf[i] = 0;
779
812
    for (; i < maxlen; i++)
780
813
        if (!avio_r8(s))
781
814
            return i + 1;
787
820
{\
788
821
    char* q = buf;\
789
822
    int ret = 0;\
 
823
    if (buflen <= 0) \
 
824
        return AVERROR(EINVAL); \
790
825
    while (ret + 1 < maxlen) {\
791
826
        uint8_t tmp;\
792
827
        uint32_t ch;\
838
873
    if (!buffer)
839
874
        return AVERROR(ENOMEM);
840
875
 
841
 
    *s = av_mallocz(sizeof(AVIOContext));
842
 
    if(!*s) {
 
876
    *s = avio_alloc_context(buffer, buffer_size, h->flags & AVIO_FLAG_WRITE, h,
 
877
                            ffurl_read, ffurl_write, ffurl_seek);
 
878
    if (!*s) {
843
879
        av_free(buffer);
844
880
        return AVERROR(ENOMEM);
845
881
    }
846
 
 
847
 
    if (ffio_init_context(*s, buffer, buffer_size,
848
 
                      h->flags & AVIO_FLAG_WRITE, h,
849
 
                      ffurl_read, ffurl_write, ffurl_seek) < 0) {
850
 
        av_free(buffer);
851
 
        av_freep(s);
852
 
        return AVERROR(EIO);
853
 
    }
854
882
#if FF_API_OLD_AVIO
855
883
    (*s)->is_streamed = h->is_streamed;
856
884
#endif
860
888
        (*s)->read_pause = (int (*)(void *, int))h->prot->url_read_pause;
861
889
        (*s)->read_seek  = (int64_t (*)(void *, int, int64_t, int))h->prot->url_read_seek;
862
890
    }
 
891
#if !FF_API_OLD_AVIO
 
892
    (*s)->av_class = &ffio_url_class;
 
893
#endif
863
894
    return 0;
864
895
}
865
896
 
933
964
 
934
965
int avio_open(AVIOContext **s, const char *filename, int flags)
935
966
{
 
967
    return avio_open2(s, filename, flags, NULL, NULL);
 
968
}
 
969
 
 
970
int avio_open2(AVIOContext **s, const char *filename, int flags,
 
971
               const AVIOInterruptCB *int_cb, AVDictionary **options)
 
972
{
936
973
    URLContext *h;
937
974
    int err;
938
975
 
939
 
    err = ffurl_open(&h, filename, flags);
 
976
    err = ffurl_open(&h, filename, flags, int_cb, options);
940
977
    if (err < 0)
941
978
        return err;
942
979
    err = ffio_fdopen(s, h);