~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to libmpdemux/demux_pva.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:
27
27
 * played back correctly. If it breaks anything else, just comment out
28
28
 * the #define below and it will not be compiled in. */
29
29
#define DEMUX_PVA_MULTIDEC_HACK
30
 
#define PVA_NEW_PREBYTES_CODE
31
30
 
32
31
#include <stdio.h>
33
32
#include <stdlib.h>
52
51
 
53
52
typedef struct {
54
53
        off_t offset;
55
 
        long size;
 
54
        int size;
56
55
        uint8_t type;
57
56
        uint8_t is_packet_start;
58
57
        float pts;
62
61
typedef struct {
63
62
        float last_audio_pts;
64
63
        float last_video_pts;
65
 
#ifdef PVA_NEW_PREBYTES_CODE
66
64
        float video_pts_after_prebytes;
67
 
        long video_size_after_prebytes;
 
65
        int video_size_after_prebytes;
68
66
        uint8_t prebytes_delivered;
69
 
#endif
70
67
        uint8_t just_synced;
71
68
        uint8_t synced_stream_id;
72
69
} pva_priv_t;
201
198
        uint16_t pack_size;
202
199
        off_t pva_payload_start;
203
200
        unsigned char buffer[256];
204
 
#ifndef PVA_NEW_PREBYTES_CODE
205
 
        demux_packet_t * dp;    //hack to deliver the preBytes (see PVA doc)
206
 
#endif
207
201
        pva_priv_t * priv;
208
202
 
209
203
 
227
221
 
228
222
        //printf("priv->just_synced %s\n",priv->just_synced?"SET":"UNSET");
229
223
 
230
 
#ifdef PVA_NEW_PREBYTES_CODE
231
224
        if(priv->prebytes_delivered)
232
225
                /* The previous call to this fn has delivered the preBytes. Then we are already inside
233
226
                 * the payload. Let's just deliver the video along with its right PTS, the one we stored
243
236
                priv->prebytes_delivered = 0;
244
237
                return 1;
245
238
        }
246
 
#endif
247
239
        if(!priv->just_synced)
248
240
        {
249
241
                if(stream_read_word(d->stream) != (('A'<<8)|'V'))
313
305
                                payload->pts=(float)(stream_read_dword(d->stream))/90000;
314
306
                                //printf("Video PTS: %f\n",payload->pts);
315
307
                                if((flags&0x03)
316
 
#ifdef PVA_NEW_PREBYTES_CODE
317
308
                                                && !priv->prebytes_delivered
318
 
#endif
319
309
                                                )
320
310
                                {
321
 
#ifndef PVA_NEW_PREBYTES_CODE
322
 
                                        dp=new_demux_packet(flags&0x03);
323
 
                                        stream_read(d->stream,dp->buffer,flags & 0x03); //read PreBytes
324
 
                                        ds_add_packet(d->video,dp);
325
 
#else
326
311
                                        //printf("Delivering prebytes. Setting prebytes_delivered.");
327
312
                                        payload->offset=stream_tell(d->stream);
328
313
                                        payload->size = flags & 0x03;
332
317
                                        payload->is_packet_start=0;
333
318
                                        priv->prebytes_delivered=1;
334
319
                                        return 1;
335
 
#endif
336
320
                                }
337
321
 
338
322