Changeset 1230
- Timestamp:
- 12/15/09 18:15:03 (8 months ago)
- Location:
- branches/perian-1.2
- Files:
-
- 9 modified
-
. (modified) (2 props)
-
Plists/Perian-Info.plist (modified) (2 diffs)
-
Plists/PerianOpener-Info.plist (modified) (1 diff)
-
Plists/PerianPane-Info.plist (modified) (1 diff)
-
Plists/PerianUpdateChecker-Info.plist (modified) (1 diff)
-
Release/Changes.txt (modified) (1 diff)
-
Release/Makefile (modified) (1 diff)
-
codecList.m4 (modified) (1 diff)
-
ff_dataref.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/perian-1.2
- Property svn:externals
-
old new 1 ffmpeg -r 20 679svn://svn.mplayerhq.hu/ffmpeg/trunk1 ffmpeg -r 20878 svn://svn.mplayerhq.hu/ffmpeg/trunk 2 2 libebml -r 1221 http://svn.perian.org/libebml 3 3 libmatroska -r 1221 http://svn.perian.org/libmatroska 4 4 a52codec -r 77 http://svn.cod3r.com/a52codec/trunk 5 5 6
-
-
Property
svn:mergeinfo set
to
/trunk merged eligible
- Property svn:externals
-
branches/perian-1.2/Plists/Perian-Info.plist
r1224 r1230 8 8 <string>Perian</string> 9 9 <key>CFBundleGetInfoString</key> 10 <string>1.2 b1(SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string>10 <string>1.2 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 11 11 <key>CFBundleIconFile</key> 12 12 <string>Perian_icon</string> … … 18 18 <string>thng</string> 19 19 <key>CFBundleShortVersionString</key> 20 <string>1.2 b1</string>20 <string>1.2</string> 21 21 <key>CFBundleSignature</key> 22 22 <string>Peri</string> 23 23 <key>CFBundleVersion</key> 24 <string>1.2 b1</string>24 <string>1.2</string> 25 25 <key>CSResourcesFileMapped</key> 26 26 <string>yes</string> -
branches/perian-1.2/Plists/PerianOpener-Info.plist
r1224 r1230 203 203 <string>PerO</string> 204 204 <key>CFBundleVersion</key> 205 <string>1.2 b1</string>205 <string>1.2</string> 206 206 <key>NSAppleScriptEnabled</key> 207 207 <string>YES</string> -
branches/perian-1.2/Plists/PerianPane-Info.plist
r1224 r1230 20 20 <string>????</string> 21 21 <key>CFBundleVersion</key> 22 <string>1.2 b1</string>22 <string>1.2</string> 23 23 <key>CFBundleGetInfoString</key> 24 <string>1.2 b1(SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string>24 <string>1.2 (SVNREVISION ffmpeg: FFMPEGREVISION), Copyright 2009 The Perian Team</string> 25 25 <key>CFBundleName</key> 26 26 <string>Perian</string> -
branches/perian-1.2/Plists/PerianUpdateChecker-Info.plist
r1224 r1230 18 18 <string>????</string> 19 19 <key>CFBundleVersion</key> 20 <string>1.2 b1</string>20 <string>1.2</string> 21 21 <key>NSMainNibFile</key> 22 22 <string>UpdateCheckerMainMenu</string> -
branches/perian-1.2/Release/Changes.txt
r1224 r1230 17 17 - Better support for tracks with delayed start times [r1181] 18 18 - Fixed MPEG1/2 in Matroska playing out of order [r1188] 19 - Fixed a crash opening files while they were being downloaded [r1227] 19 20 SSA: 20 21 - Fixed some top-aligned subtitles being too low [r1163] -
branches/perian-1.2/Release/Makefile
r1224 r1230 4 4 # Check the Perian.component target and PerianPane target. 5 5 6 VERSION=1.2 b16 VERSION=1.2 7 7 BETA=TRUE 8 8 SRC_DIR=.. -
branches/perian-1.2/codecList.m4
r1132 r1230 7 7 Codec(k3ivxCodecInfoResID, CODEC_ID_MPEG4, "3ivx", "Decompresses video stored in 3ivx format.", '3IVD', '3ivd', '3IV2', '3iv2') 8 8 Codec(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') 9 Codec(kMPEG4CodecInfoResID, CODEC_ID_MPEG4, "MPEG-4", "Decompresses video stored in MPEG-4 format.", 'RMP4', 'SEDG', 'WV1F', 'FMP4', 'SMP4') 10 ResourceOnly(<!// XXX: can we do this without claiming Apple's manufacturer (and thus unregistering their decoder)?!>) 11 ResourceOnly(<!#define kCodecManufacturer 'appl'!>) 12 ResourceOnly(<!#define kCodecVersion kFFusionCodecVersion + 0x10!>) 13 Codec(kMPEG4CodecInfoResID, CODEC_ID_MPEG4, "MPEG-4", "Decompresses video stored in MPEG-4 format.", 'mp4v') 14 ResourceOnly(<!#define kCodecVersion kFFusionCodecVersion!>) 15 ResourceOnly(<!#define kCodecManufacturer kFFusionCodecManufacturer!>) 10 16 Codec(kH264CodecInfoResID, CODEC_ID_H264, "H.264", "Decompresses video stored in H.264 format.", 'H264', 'h264', 'X264', 'x264', 'DAVC', 'VSSH', 'AVC1', 'avc1') 11 17 Codec(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 37 37 /* DataRef Wrapper for QuickTime */ 38 38 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; 39 static int dataref_update_filesize(dataref_private *private) 40 { 45 41 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); 76 43 if(result == noErr) { 77 44 private->size = (int64_t)fsize.lo; … … 85 52 private->size = size32; 86 53 } 87 88 bail: 89 return result; 54 bail: 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 */ 60 static 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); 95 bail: 96 return result; 90 97 } /* dataref_open() */ 91 98 … … 93 100 { 94 101 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); 101 116 102 117 if(p->supportsWideOffsets) { … … 163 178 break; 164 179 case SEEK_END: 180 dataref_update_filesize(p); 165 181 p->pos = p->size + pos; 166 182 break; 167 183 case AVSEEK_SIZE: 184 dataref_update_filesize(p); 168 185 return p->size; 169 186 default:
