Changeset 1230

Show
Ignore:
Timestamp:
12/15/09 18:15:03 (8 months ago)
Author:
astrange
Message:

Merge trunk to release branch and update ffmpeg revision.

Location:
branches/perian-1.2
Files:
9 modified

Legend:

Unmodified
Added
Removed
  • branches/perian-1.2

    • Property svn:externals
      •  

        old new  
        1 ffmpeg -r 20679 svn://svn.mplayerhq.hu/ffmpeg/trunk 
         1ffmpeg -r 20878 svn://svn.mplayerhq.hu/ffmpeg/trunk 
        22libebml -r 1221 http://svn.perian.org/libebml 
        33libmatroska -r 1221 http://svn.perian.org/libmatroska 
        44a52codec -r 77 http://svn.cod3r.com/a52codec/trunk 
        55 
         6 
    • Property svn:mergeinfo set to
      /trunkmergedeligible
  • branches/perian-1.2/Plists/Perian-Info.plist

    r1224 r1230  
    88        <string>Perian</string> 
    99        <key>CFBundleGetInfoString</key> 
    10         <string>1.2b1 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 
     10        <string>1.2 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 
    1111        <key>CFBundleIconFile</key> 
    1212        <string>Perian_icon</string> 
     
    1818        <string>thng</string> 
    1919        <key>CFBundleShortVersionString</key> 
    20         <string>1.2b1</string> 
     20        <string>1.2</string> 
    2121        <key>CFBundleSignature</key> 
    2222        <string>Peri</string> 
    2323        <key>CFBundleVersion</key> 
    24         <string>1.2b1</string> 
     24        <string>1.2</string> 
    2525        <key>CSResourcesFileMapped</key> 
    2626        <string>yes</string> 
  • branches/perian-1.2/Plists/PerianOpener-Info.plist

    r1224 r1230  
    203203        <string>PerO</string> 
    204204        <key>CFBundleVersion</key> 
    205         <string>1.2b1</string> 
     205        <string>1.2</string> 
    206206        <key>NSAppleScriptEnabled</key> 
    207207        <string>YES</string> 
  • branches/perian-1.2/Plists/PerianPane-Info.plist

    r1224 r1230  
    2020        <string>????</string> 
    2121        <key>CFBundleVersion</key> 
    22         <string>1.2b1</string> 
     22        <string>1.2</string> 
    2323        <key>CFBundleGetInfoString</key> 
    24         <string>1.2b1 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 
     24        <string>1.2 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 
    2525        <key>CFBundleName</key> 
    2626        <string>Perian</string> 
  • branches/perian-1.2/Plists/PerianUpdateChecker-Info.plist

    r1224 r1230  
    1818        <string>????</string> 
    1919        <key>CFBundleVersion</key> 
    20         <string>1.2b1</string> 
     20        <string>1.2</string> 
    2121        <key>NSMainNibFile</key> 
    2222        <string>UpdateCheckerMainMenu</string> 
  • branches/perian-1.2/Release/Changes.txt

    r1224 r1230  
    1717- Better support for tracks with delayed start times [r1181] 
    1818- Fixed MPEG1/2 in Matroska playing out of order [r1188] 
     19- Fixed a crash opening files while they were being downloaded [r1227] 
    1920SSA: 
    2021- Fixed some top-aligned subtitles being too low [r1163] 
  • branches/perian-1.2/Release/Makefile

    r1224 r1230  
    44# Check the Perian.component target and PerianPane target. 
    55 
    6 VERSION=1.2b1 
     6VERSION=1.2 
    77BETA=TRUE 
    88SRC_DIR=.. 
  • branches/perian-1.2/codecList.m4

    r1132 r1230  
    77Codec(k3ivxCodecInfoResID, CODEC_ID_MPEG4, "3ivx", "Decompresses video stored in 3ivx format.", '3IVD', '3ivd', '3IV2', '3iv2') 
    88Codec(kXVIDCodecInfoResID, CODEC_ID_MPEG4, "Xvid", "Decompresses video stored in Xvid format.", 'XVID', 'xvid', 'XviD', 'XVIX', 'BLZ0') 
    9 Codec(kMPEG4CodecInfoResID, CODEC_ID_MPEG4, "MPEG-4", "Decompresses video stored in MPEG-4 format.", 'RMP4', 'SEDG', 'WV1F', 'FMP4', 'SMP4', 'mp4v') 
     9Codec(kMPEG4CodecInfoResID, CODEC_ID_MPEG4, "MPEG-4", "Decompresses video stored in MPEG-4 format.", 'RMP4', 'SEDG', 'WV1F', 'FMP4', 'SMP4') 
     10ResourceOnly(<!// XXX: can we do this without claiming Apple's manufacturer (and thus unregistering their decoder)?!>) 
     11ResourceOnly(<!#define kCodecManufacturer 'appl'!>) 
     12ResourceOnly(<!#define kCodecVersion kFFusionCodecVersion + 0x10!>) 
     13Codec(kMPEG4CodecInfoResID, CODEC_ID_MPEG4, "MPEG-4", "Decompresses video stored in MPEG-4 format.", 'mp4v') 
     14ResourceOnly(<!#define kCodecVersion kFFusionCodecVersion!>) 
     15ResourceOnly(<!#define kCodecManufacturer kFFusionCodecManufacturer!>) 
    1016Codec(kH264CodecInfoResID, CODEC_ID_H264, "H.264", "Decompresses video stored in H.264 format.", 'H264', 'h264', 'X264', 'x264', 'DAVC', 'VSSH', 'AVC1', 'avc1') 
    1117Codec(kFLV1CodecInfoResID, CODEC_ID_FLV1, "Sorenson H.263", "Decompresses video stored in Sorenson H.263 format.", 'FLV1') 
  • branches/perian-1.2/ff_dataref.c

    r969 r1230  
    3737/* DataRef Wrapper for QuickTime */ 
    3838 
    39 /* !!! THIS FUNCTION ASSUMES h->priv_data IS VALID in contrary to the other open functions 
    40 * found in ffmpeg */ 
    41 static int dataref_open(URLContext *h, const char *filename, int flags) 
    42 { 
    43         ComponentResult result; 
    44         dataref_private *private; 
     39static int dataref_update_filesize(dataref_private *private) 
     40{ 
    4541        wide fsize; 
    46         long access = 0; 
    47          
    48         if(flags & URL_RDWR) { 
    49                 access = kDataHCanRead | kDataHCanWrite; 
    50         } else if(flags & URL_WRONLY) { 
    51                 access = kDataHCanWrite; 
    52         } else { 
    53                 access = kDataHCanRead; 
    54         } 
    55          
    56         private = h->priv_data; 
    57         result = OpenAComponent(GetDataHandler(private->dataRef, private->dataRefType, access), &private->dh); 
    58         require_noerr(result,bail); 
    59          
    60         result = DataHSetDataRef(private->dh, private->dataRef); 
    61         require_noerr(result,bail); 
    62          
    63         if(access & kDataHCanRead) { 
    64                 result = DataHOpenForRead(private->dh); 
    65                 require_noerr(result,bail); 
    66         } 
    67         if(access & kDataHCanWrite) { 
    68                 result = DataHOpenForWrite(private->dh); 
    69                 require_noerr(result,bail); 
    70         } 
    71          
    72         private->pos = 0ll; 
    73         private->size = 0ll; 
    74          
    75         result = DataHGetFileSize64(private->dh, &fsize); 
     42        ComponentResult result = DataHGetFileSize64(private->dh, &fsize); 
    7643        if(result == noErr) { 
    7744                private->size = (int64_t)fsize.lo; 
     
    8552                private->size = size32; 
    8653        } 
    87          
    88 bail: 
    89                 return result; 
     54bail: 
     55        return result; 
     56} 
     57 
     58/* !!! THIS FUNCTION ASSUMES h->priv_data IS VALID in contrary to the other open functions 
     59* found in ffmpeg */ 
     60static int dataref_open(URLContext *h, const char *filename, int flags) 
     61{ 
     62        ComponentResult result; 
     63        dataref_private *private; 
     64        long access = 0; 
     65         
     66        if(flags & URL_RDWR) { 
     67                access = kDataHCanRead | kDataHCanWrite; 
     68        } else if(flags & URL_WRONLY) { 
     69                access = kDataHCanWrite; 
     70        } else { 
     71                access = kDataHCanRead; 
     72        } 
     73         
     74        private = h->priv_data; 
     75        result = OpenAComponent(GetDataHandler(private->dataRef, private->dataRefType, access), &private->dh); 
     76        require_noerr(result,bail); 
     77         
     78        result = DataHSetDataRef(private->dh, private->dataRef); 
     79        require_noerr(result,bail); 
     80         
     81        if(access & kDataHCanRead) { 
     82                result = DataHOpenForRead(private->dh); 
     83                require_noerr(result,bail); 
     84        } 
     85        if(access & kDataHCanWrite) { 
     86                result = DataHOpenForWrite(private->dh); 
     87                require_noerr(result,bail); 
     88        } 
     89         
     90        private->pos = 0ll; 
     91        private->size = 0ll; 
     92         
     93        result = dataref_update_filesize(private); 
     94        require_noerr(result,bail); 
     95bail: 
     96        return result; 
    9097} /* dataref_open() */ 
    9198 
     
    93100{ 
    94101        int result; 
    95         int64_t read; 
    96  
    97         dataref_private *p = (dataref_private*)h->priv_data; 
    98          
    99         read = p->size - p->pos; 
    100         read = (read < size) ? read : size; 
     102        dataref_private *p = (dataref_private*)h->priv_data; 
     103        int read; 
     104 
     105        if (p->pos + size > p->size) { 
     106                // it tried to read past the end 
     107                // but since we cache the size, it might be wrong 
     108                // try to update the size before clipping the request 
     109                dataref_update_filesize(p); 
     110        } 
     111         
     112        if (p->pos >= p->size) 
     113                return 0; // can't read past the end 
     114        else 
     115                read = FFMIN(size, p->size - p->pos); 
    101116         
    102117        if(p->supportsWideOffsets) { 
     
    163178                        break; 
    164179                case SEEK_END: 
     180                        dataref_update_filesize(p); 
    165181                        p->pos = p->size + pos; 
    166182                        break; 
    167183                case AVSEEK_SIZE: 
     184                        dataref_update_filesize(p); 
    168185                        return p->size; 
    169186                default: