| @@ -133,31 +133,31 @@ public: | |||
| trackUnitsPerFrame = GetMovieTimeScale (movie) * samplesPerFrame | |||
| / GetMediaTimeScale (media); | |||
| OSStatus err = MovieAudioExtractionBegin (movie, 0, &extractor); | |||
| MovieAudioExtractionBegin (movie, 0, &extractor); | |||
| unsigned long output_layout_size; | |||
| err = MovieAudioExtractionGetPropertyInfo (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| 0, &output_layout_size, 0); | |||
| OSStatus err = MovieAudioExtractionGetPropertyInfo (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| 0, &output_layout_size, 0); | |||
| if (err != noErr) | |||
| return; | |||
| HeapBlock <AudioChannelLayout> qt_audio_channel_layout; | |||
| qt_audio_channel_layout.calloc (output_layout_size, 1); | |||
| err = MovieAudioExtractionGetProperty (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| output_layout_size, qt_audio_channel_layout, 0); | |||
| MovieAudioExtractionGetProperty (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| output_layout_size, qt_audio_channel_layout, 0); | |||
| qt_audio_channel_layout[0].mChannelLayoutTag = kAudioChannelLayoutTag_Stereo; | |||
| err = MovieAudioExtractionSetProperty (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| output_layout_size, | |||
| qt_audio_channel_layout); | |||
| MovieAudioExtractionSetProperty (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout, | |||
| output_layout_size, | |||
| qt_audio_channel_layout); | |||
| err = MovieAudioExtractionGetProperty (extractor, | |||
| kQTPropertyClass_MovieAudioExtraction_Audio, | |||
| @@ -279,8 +279,7 @@ public: | |||
| inline ElementType getFirst() const | |||
| { | |||
| const ScopedLockType lock (getLock()); | |||
| return (numUsed > 0) ? data.elements [0] | |||
| : ElementType(); | |||
| return numUsed > 0 ? data.elements[0] : ElementType(); | |||
| } | |||
| /** Returns the last element in the array, or a default value if the array is empty. | |||
| @@ -290,8 +289,7 @@ public: | |||
| inline ElementType getLast() const | |||
| { | |||
| const ScopedLockType lock (getLock()); | |||
| return (numUsed > 0) ? data.elements [numUsed - 1] | |||
| : ElementType(); | |||
| return numUsed > 0 ? data.elements[numUsed - 1] : ElementType(); | |||
| } | |||
| /** Returns a pointer to the actual array data. | |||
| @@ -317,6 +315,11 @@ public: | |||
| */ | |||
| inline ElementType* end() const noexcept | |||
| { | |||
| #if JUCE_DEBUG | |||
| if (data.elements == nullptr || numUsed <= 0) // (to keep static analysers happy) | |||
| return data.elements; | |||
| #endif | |||
| return data.elements + numUsed; | |||
| } | |||
| @@ -519,6 +522,7 @@ public: | |||
| if (isPositiveAndBelow (indexToChange, numUsed)) | |||
| { | |||
| jassert (data.elements != nullptr); | |||
| data.elements [indexToChange] = newValue; | |||
| } | |||
| else if (indexToChange >= 0) | |||
| @@ -167,7 +167,7 @@ public: | |||
| { | |||
| const ScopedLockType lock (getLock()); | |||
| return numUsed > 0 ? data.elements [0] | |||
| : static_cast <ObjectClass*> (nullptr); | |||
| : static_cast<ObjectClass*> (nullptr); | |||
| } | |||
| /** Returns a pointer to the last object in the array. | |||
| @@ -179,7 +179,7 @@ public: | |||
| { | |||
| const ScopedLockType lock (getLock()); | |||
| return numUsed > 0 ? data.elements [numUsed - 1] | |||
| : static_cast <ObjectClass*> (nullptr); | |||
| : static_cast<ObjectClass*> (nullptr); | |||
| } | |||
| /** Returns a pointer to the actual array data. | |||
| @@ -205,6 +205,11 @@ public: | |||
| */ | |||
| inline ObjectClass** end() const noexcept | |||
| { | |||
| #if JUCE_DEBUG | |||
| if (data.elements == nullptr || numUsed <= 0) // (to keep static analysers happy) | |||
| return data.elements; | |||
| #endif | |||
| return data.elements + numUsed; | |||
| } | |||
| @@ -180,6 +180,7 @@ public: | |||
| inline ObjectClass* getObjectPointer (const int index) const noexcept | |||
| { | |||
| const ScopedLockType lock (getLock()); | |||
| jassert (isPositiveAndBelow (index, numUsed)); | |||
| return isPositiveAndBelow (index, numUsed) ? data.elements [index] | |||
| : nullptr; | |||
| } | |||