Changeset 459
- Timestamp:
- 04/22/07 23:52:01 (1 year ago)
- Files:
-
- trunk/Perian.xcodeproj/project.pbxproj (modified) (9 diffs)
- trunk/ff_private.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Perian.xcodeproj/project.pbxproj
r424 r459 666 666 F560DF0203D622D001ABA332 /* FFusionCodec.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = FFusionCodec.r; sourceTree = "<group>"; }; 667 667 F57755F40B51EB1800C7D833 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; 668 F5CFD1B40B50009000616865 /* PerianPanePListGenerator */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = PerianPanePListGenerator; sourceTree = BUILT_PRODUCTS_DIR; };668 F5CFD1B40B50009000616865 /* PerianPanePListGenerator */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = PerianPanePListGenerator; sourceTree = BUILT_PRODUCTS_DIR; }; 669 669 F5CFD1BC0B5000CE00616865 /* GBPerianPanePListGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GBPerianPanePListGenerator.h; sourceTree = "<group>"; }; 670 670 F5CFD1BD0B5000CE00616865 /* GBPerianPanePListGenerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GBPerianPanePListGenerator.m; sourceTree = "<group>"; }; … … 2136 2136 PREBINDING = NO; 2137 2137 PRODUCT_NAME = ebml; 2138 STRIP_STYLE = "non-global"; 2138 2139 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2139 2140 ZERO_LINK = NO; … … 2155 2156 PREBINDING = NO; 2156 2157 PRODUCT_NAME = matroska; 2158 STRIP_STYLE = "non-global"; 2157 2159 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2158 2160 ZERO_LINK = NO; … … 2374 2376 PREBINDING = NO; 2375 2377 PRODUCT_NAME = ebml; 2378 STRIP_STYLE = "non-global"; 2376 2379 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2377 2380 ZERO_LINK = NO; … … 2394 2397 PREBINDING = NO; 2395 2398 PRODUCT_NAME = ebml; 2399 STRIP_STYLE = "non-global"; 2396 2400 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2397 2401 ZERO_LINK = NO; … … 2411 2415 PREBINDING = NO; 2412 2416 PRODUCT_NAME = ebml; 2417 STRIP_STYLE = "non-global"; 2413 2418 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libebml"; 2414 ZERO_LINK = YES;2419 ZERO_LINK = NO; 2415 2420 }; 2416 2421 name = Default; … … 2432 2437 PREBINDING = NO; 2433 2438 PRODUCT_NAME = matroska; 2439 STRIP_STYLE = "non-global"; 2434 2440 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2435 2441 ZERO_LINK = NO; … … 2451 2457 PREBINDING = NO; 2452 2458 PRODUCT_NAME = matroska; 2459 STRIP_STYLE = "non-global"; 2453 2460 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2454 2461 ZERO_LINK = NO; … … 2468 2475 PREBINDING = NO; 2469 2476 PRODUCT_NAME = matroska; 2477 STRIP_STYLE = "non-global"; 2470 2478 USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/libmatroska $(SRCROOT)/libebml"; 2471 ZERO_LINK = YES;2479 ZERO_LINK = NO; 2472 2480 }; 2473 2481 name = Default; trunk/ff_private.c
r432 r459 566 566 { 567 567 int streamsRead = 0; 568 AVStream *st; 569 568 570 result = av_seek_frame(formatContext, -1, 0, 0); 569 571 if(result < 0) goto bail; 570 572 571 formatContext->iformat->read_packet(formatContext, &packet); 573 av_read_frame(formatContext, &packet); 574 st = formatContext->streams[packet.stream_index]; 575 572 576 /* read_packet will give the first decodable packet. However, that isn't necessarily 573 577 the first entry in the index, so look for an entry with a matching size. */ 574 for (i = 0; i < formatContext->streams[packet.stream_index]->nb_index_entries; i++) {575 if (packet. size == formatContext->streams[packet.stream_index]->index_entries[i].size) {576 storage->header_offset = packet.pos - formatContext->streams[packet.stream_index]->index_entries[i].pos;578 for (i = 0; i < st->nb_index_entries; i++) { 579 if (packet.dts == st->index_entries[i].timestamp) { 580 storage->header_offset = packet.pos - st->index_entries[i].pos; 577 581 break; 578 582 }
