Changeset 777

Show
Ignore:
Timestamp:
01/19/08 01:03:55 (9 months ago)
Author:
astrange
Message:

Do some memory leak hunting after codec close. Closes #287

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/perian-1.1/FrameBuffer.c

    r641 r777  
    3939                free(data->frames[i]); 
    4040        } 
    41         free(data->buffer); 
     41        free(data->frames); 
     42        av_free(data->buffer); 
    4243} 
    4344 
  • branches/perian-1.1/Subtitles/SubATSUIRenderer.m

    r765 r777  
    262262        free(ubuffer); 
    263263        UCDisposeTextBreakLocator(&breakLocator); 
     264        ATSUDisposeTextLayout(layout); 
    264265        [super dealloc]; 
    265266} 
     
    269270        free(ubuffer); 
    270271        UCDisposeTextBreakLocator(&breakLocator); 
     272        ATSUDisposeTextLayout(layout); 
    271273        [super finalize]; 
    272274} 
     
    349351} 
    350352 
    351 -(void)releaseStyleEx:(void*)ex 
     353-(void)releaseStyleExtra:(void*)ex 
    352354{ 
    353355        ATSUDisposeStyle(ex); 
     
    10601062} 
    10611063 
    1062 extern SubtitleRendererPtr SubInitForSSA(char *header, size_t headerLen, int width, int height) 
     1064SubtitleRendererPtr SubInitForSSA(char *header, size_t headerLen, int width, int height) 
    10631065{ 
    10641066        NSString *hdr = [[NSString alloc] initWithBytesNoCopy:(void*)header length:headerLen encoding:NSUTF8StringEncoding freeWhenDone:NO]; 
     
    10691071} 
    10701072 
    1071 extern SubtitleRendererPtr SubInitNonSSA(int width, int height) 
     1073SubtitleRendererPtr SubInitNonSSA(int width, int height) 
    10721074{ 
    10731075        return [[SubATSUIRenderer alloc] initWithVideoWidth:width videoHeight:height]; 
    10741076} 
    10751077 
    1076 extern CGColorSpaceRef SubGetColorSpace(SubtitleRendererPtr s) 
     1078CGColorSpaceRef SubGetColorSpace(SubtitleRendererPtr s) 
    10771079{ 
    10781080        return s->srgbCSpace; 
    10791081} 
    10801082 
    1081 extern void SubRenderPacket(SubtitleRendererPtr s, CGContextRef c, CFStringRef str, int cWidth, int cHeight) 
     1083void SubRenderPacket(SubtitleRendererPtr s, CGContextRef c, CFStringRef str, int cWidth, int cHeight) 
    10821084{ 
    10831085        [s renderPacket:(NSString*)str inContext:c width:cWidth height:cHeight]; 
    10841086} 
    10851087 
    1086 extern void SubDisposeRenderer(SubtitleRendererPtr s) 
     1088void SubDisposeRenderer(SubtitleRendererPtr s) 
    10871089{ 
    10881090        [s release]; 
  • branches/perian-1.1/Subtitles/SubContext.m

    r770 r777  
    9696                delegate = delegate_; 
    9797                                 
    98 #define sv(fn, n) fn = [s objectForKey: @""#n] 
     98#define sv(fn, n) fn = [[s objectForKey: @""#n] retain] 
    9999#define fv(fn, n) fn = [[s objectForKey:@""#n] floatValue] 
    100100#define iv(fn, n) fn = [[s objectForKey:@""#n] intValue] 
     
    200200                        for (i=0; i < nstyles; i++) { 
    201201                                NSDictionary *style = [styles_ objectAtIndex:i]; 
    202                                 [sdict setObject:[[SubStyle alloc] initWithDictionary:style scriptVersion:scriptType delegate:delegate] 
     202                                [sdict setObject:[[[SubStyle alloc] initWithDictionary:style scriptVersion:scriptType delegate:delegate] autorelease] 
    203203                                                                                                forKey:[style objectForKey:@"Name"]]; 
    204204                        }