Changeset 1056
- Timestamp:
- 11/08/07 22:43:11 (14 months ago)
- Location:
- trunk/Audio
- Files:
-
- 3 modified
-
AudioScheduler.m (modified) (1 diff)
-
ScheduledAudioRegion.h (modified) (2 diffs)
-
ScheduledAudioRegion.m (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Audio/AudioScheduler.m
r1043 r1056 93 93 94 94 // Determine if region rendering is complete 95 if([[[scheduler regionBeingRendered] decoder] currentFrame] == [[[scheduler regionBeingRendered] decoder] totalFrames] 96 && [[scheduler regionBeingRendered] framesRendered] == [[scheduler regionBeingRendered] framesScheduled]) { 95 if([[scheduler regionBeingRendered] atEnd] && [[scheduler regionBeingRendered] framesRendered] == [[scheduler regionBeingRendered] framesScheduled]) { 97 96 98 97 // Notify the delegate -
trunk/Audio/ScheduledAudioRegion.h
r1043 r1056 29 29 { 30 30 id <AudioDecoderMethods> _decoder; 31 BOOL _atEnd; 31 32 32 33 AudioTimeStamp _startTime; … … 49 50 - (id <AudioDecoderMethods>) decoder; 50 51 - (void) setDecoder:(id <AudioDecoderMethods>)decoder; 52 53 - (BOOL) atEnd; 51 54 52 55 - (AudioTimeStamp) startTime; -
trunk/Audio/ScheduledAudioRegion.m
r1043 r1056 197 197 - (SInt64) framesScheduled { return _framesScheduled; } 198 198 - (SInt64) framesRendered { return _framesRendered; } 199 - (BOOL) atEnd { return _atEnd; } 199 200 200 201 - (unsigned) numberOfSlicesInBuffer … … 241 242 NSParameterAssert(sliceIndex < [self numberOfSlicesInBuffer]); 242 243 243 return [[self decoder] readAudio:_sliceBuffer[sliceIndex].mBufferList frameCount:[self numberOfFramesPerSlice]]; 244 UInt32 framesRead = [[self decoder] readAudio:_sliceBuffer[sliceIndex].mBufferList frameCount:[self numberOfFramesPerSlice]]; 245 246 if(0 == framesRead) 247 _atEnd = YES; 248 249 return framesRead; 244 250 } 245 251
