mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-25 06:37:29 +01:00
replicate the remove-all-trailing whitespace commit(s) in master
This commit is contained in:
parent
589f2a1ab8
commit
bc487bb4b0
235 changed files with 5833 additions and 5840 deletions
|
|
@ -2,14 +2,14 @@
|
|||
File: ACSimpleCodec.cpp
|
||||
Abstract: ACSimpleCodec.h
|
||||
Version: 1.1
|
||||
|
||||
|
||||
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
|
||||
Inc. ("Apple") in consideration of your agreement to the following
|
||||
terms, and your use, installation, modification or redistribution of
|
||||
this Apple software constitutes acceptance of these terms. If you do
|
||||
not agree with these terms, please do not use, install, modify or
|
||||
redistribute this Apple software.
|
||||
|
||||
|
||||
In consideration of your agreement to abide by the following terms, and
|
||||
subject to these terms, Apple grants you a personal, non-exclusive
|
||||
license, under Apple's copyrights in this original Apple software (the
|
||||
|
|
@ -25,13 +25,13 @@
|
|||
implied, are granted by Apple herein, including but not limited to any
|
||||
patent rights that may be infringed by your derivative works or by other
|
||||
works in which the Apple Software may be incorporated.
|
||||
|
||||
|
||||
The Apple Software is provided by Apple on an "AS IS" basis. APPLE
|
||||
MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
|
||||
THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
|
||||
OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
|
||||
|
||||
|
||||
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
|
||||
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
|
|
@ -40,9 +40,9 @@
|
|||
AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
|
||||
STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Copyright (C) 2014 Apple Inc. All Rights Reserved.
|
||||
|
||||
|
||||
*/
|
||||
//=============================================================================
|
||||
// Includes
|
||||
|
|
@ -81,8 +81,8 @@ void ACSimpleCodec::Initialize(const AudioStreamBasicDescription* inInputFormat,
|
|||
if (mInputFormat.mBytesPerPacket == 0)
|
||||
{
|
||||
CODEC_THROW(kAudioCodecUnsupportedFormatError);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ACBaseCodec::Initialize(inInputFormat, inOutputFormat, inMagicCookie, inMagicCookieByteSize);
|
||||
}
|
||||
|
||||
|
|
@ -91,11 +91,11 @@ void ACSimpleCodec::Uninitialize()
|
|||
// get rid of the buffer
|
||||
delete[] mInputBuffer;
|
||||
mInputBuffer = NULL;
|
||||
|
||||
|
||||
// reset the ring buffer state
|
||||
mInputBufferStart = 0;
|
||||
mInputBufferEnd = 0;
|
||||
|
||||
|
||||
ACBaseCodec::Uninitialize();
|
||||
}
|
||||
|
||||
|
|
@ -105,11 +105,11 @@ void ACSimpleCodec::Reset()
|
|||
if (mInputBuffer) { // could be called before allocated.
|
||||
memset(mInputBuffer, 0, mInputBufferByteSize);
|
||||
}
|
||||
|
||||
|
||||
// reset the ring buffer state
|
||||
mInputBufferStart = 0;
|
||||
mInputBufferEnd = 0;
|
||||
|
||||
|
||||
ACBaseCodec::Reset();
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ UInt32 ACSimpleCodec::GetInputBufferByteSize() const
|
|||
UInt32 ACSimpleCodec::GetUsedInputBufferByteSize() const
|
||||
{
|
||||
UInt32 theAnswer = 0;
|
||||
|
||||
|
||||
// this object uses a ring buffer
|
||||
if(mInputBufferStart <= mInputBufferEnd)
|
||||
{
|
||||
|
|
@ -130,10 +130,10 @@ UInt32 ACSimpleCodec::GetUsedInputBufferByteSize() const
|
|||
}
|
||||
else
|
||||
{
|
||||
// the active region wraps around
|
||||
// the active region wraps around
|
||||
theAnswer = (mInputBufferByteSize - mInputBufferStart) + mInputBufferEnd;
|
||||
}
|
||||
|
||||
|
||||
return theAnswer;
|
||||
}
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ void ACSimpleCodec::AppendInputData(const void* inInputData, UInt32& ioInputData
|
|||
{
|
||||
// this buffer handling code doesn't care about such things as the packet descriptions
|
||||
if(!mIsInitialized) CODEC_THROW(kAudioCodecStateError);
|
||||
|
||||
|
||||
// this is a ring buffer we're dealing with, so we need to set up a few things
|
||||
UInt32 theUsedByteSize = GetUsedInputBufferByteSize();
|
||||
UInt32 theAvailableByteSize = GetInputBufferByteSize() - theUsedByteSize;
|
||||
|
|
@ -150,51 +150,51 @@ void ACSimpleCodec::AppendInputData(const void* inInputData, UInt32& ioInputData
|
|||
UInt32 theMaxAvailableInputBytes = ioInputDataByteSize; // we can't consume more than we get
|
||||
|
||||
const Byte* theInputData = static_cast<const Byte*>(inInputData);
|
||||
|
||||
|
||||
// >>jamesmcc: added this because ioNumberPackets was not being updated if less was taken than given.
|
||||
// THIS ASSUMES CBR!
|
||||
UInt32 bytesPerPacketOfInput = mInputFormat.mBytesPerPacket;
|
||||
UInt32 theAvailablePacketSize = theAvailableByteSize / bytesPerPacketOfInput;
|
||||
|
||||
|
||||
UInt32 minPacketSize = ioNumberPackets < theAvailablePacketSize ? ioNumberPackets : theAvailablePacketSize;
|
||||
UInt32 minByteSize = minPacketSize * bytesPerPacketOfInput;
|
||||
|
||||
|
||||
// we can copy only as much data as there is or up to how much space is availiable
|
||||
ioNumberPackets = minPacketSize;
|
||||
ioInputDataByteSize = minByteSize;
|
||||
|
||||
|
||||
// ioInputDataByteSize had better be <= to theMaxAvailableInputBytes or we're screwed
|
||||
if (ioInputDataByteSize > theMaxAvailableInputBytes)
|
||||
{
|
||||
CODEC_THROW(kAudioCodecStateError);
|
||||
}
|
||||
// <<jamesmcc
|
||||
|
||||
// <<jamesmcc
|
||||
|
||||
// now we have to copy the data taking into account the wrap around and where the start is
|
||||
if(mInputBufferEnd + ioInputDataByteSize < mInputBufferByteSize)
|
||||
{
|
||||
// no wrap around here
|
||||
memcpy(mInputBuffer + mInputBufferEnd, theInputData, ioInputDataByteSize);
|
||||
|
||||
|
||||
// adjust the end point
|
||||
mInputBufferEnd += ioInputDataByteSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
// the copy will wrap
|
||||
|
||||
|
||||
// copy the first part
|
||||
UInt32 theBeforeWrapByteSize = mInputBufferByteSize - mInputBufferEnd;
|
||||
memcpy(mInputBuffer + mInputBufferEnd, theInputData, theBeforeWrapByteSize);
|
||||
|
||||
|
||||
// and the rest
|
||||
UInt32 theAfterWrapByteSize = ioInputDataByteSize - theBeforeWrapByteSize;
|
||||
memcpy(mInputBuffer, theInputData + theBeforeWrapByteSize, theAfterWrapByteSize);
|
||||
|
||||
|
||||
// adjust the end point
|
||||
mInputBufferEnd = theAfterWrapByteSize;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -202,46 +202,46 @@ void ACSimpleCodec::ZeroPadInputData(UInt32& ioNumberPackets, const AudioStreamP
|
|||
{
|
||||
// this buffer handling code doesn't care about such things as the packet descriptions
|
||||
if(!mIsInitialized) CODEC_THROW(kAudioCodecStateError);
|
||||
|
||||
|
||||
|
||||
|
||||
// this is a ring buffer we're dealing with, so we need to set up a few things
|
||||
UInt32 theUsedByteSize = GetUsedInputBufferByteSize();
|
||||
UInt32 theAvailableByteSize = GetInputBufferByteSize() - theUsedByteSize;
|
||||
|
||||
|
||||
// >>jamesmcc: added this because ioNumberPackets was not being updated if less was taken than given.
|
||||
// THIS ASSUMES CBR!
|
||||
UInt32 bytesPerPacketOfInput = mInputFormat.mBytesPerPacket;
|
||||
UInt32 theAvailablePacketSize = theAvailableByteSize / bytesPerPacketOfInput;
|
||||
|
||||
|
||||
UInt32 minPacketSize = ioNumberPackets < theAvailablePacketSize ? ioNumberPackets : theAvailablePacketSize;
|
||||
UInt32 minByteSize = minPacketSize * bytesPerPacketOfInput;
|
||||
|
||||
|
||||
// we can copy only as much data as there is or up to how much space is availiable
|
||||
ioNumberPackets = minPacketSize;
|
||||
|
||||
// <<jamesmcc
|
||||
|
||||
|
||||
// <<jamesmcc
|
||||
|
||||
// now we have to copy the data taking into account the wrap around and where the start is
|
||||
if(mInputBufferEnd + minByteSize < mInputBufferByteSize)
|
||||
{
|
||||
// no wrap around here
|
||||
memset(mInputBuffer + mInputBufferEnd, 0, minByteSize);
|
||||
|
||||
|
||||
// adjust the end point
|
||||
mInputBufferEnd += minByteSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
// the copy will wrap
|
||||
|
||||
|
||||
// copy the first part
|
||||
UInt32 theBeforeWrapByteSize = mInputBufferByteSize - mInputBufferEnd;
|
||||
memset(mInputBuffer + mInputBufferEnd, 0, theBeforeWrapByteSize);
|
||||
|
||||
|
||||
// and the rest
|
||||
UInt32 theAfterWrapByteSize = minByteSize - theBeforeWrapByteSize;
|
||||
memset(mInputBuffer, 0, theAfterWrapByteSize);
|
||||
|
||||
|
||||
// adjust the end point
|
||||
mInputBufferEnd = theAfterWrapByteSize;
|
||||
}
|
||||
|
|
@ -252,32 +252,32 @@ void ACSimpleCodec::ConsumeInputData(UInt32 inConsumedByteSize)
|
|||
{
|
||||
// this is a convenience routine to make maintaining the ring buffer state easy
|
||||
UInt32 theContiguousRange = GetInputBufferContiguousByteSize();
|
||||
|
||||
|
||||
if(inConsumedByteSize > GetUsedInputBufferByteSize()) CODEC_THROW(kAudioCodecUnspecifiedError);
|
||||
|
||||
|
||||
if(inConsumedByteSize <= theContiguousRange)
|
||||
{
|
||||
// the region to consume doesn't wrap
|
||||
|
||||
|
||||
// figure out how much to consume
|
||||
inConsumedByteSize = (theContiguousRange < inConsumedByteSize) ? theContiguousRange : inConsumedByteSize;
|
||||
|
||||
|
||||
// clear the consumed bits
|
||||
memset(mInputBuffer + mInputBufferStart, 0, inConsumedByteSize);
|
||||
|
||||
|
||||
// adjust the start
|
||||
mInputBufferStart += inConsumedByteSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
// the region to consume will wrap
|
||||
|
||||
|
||||
// clear the bits to the end of the buffer
|
||||
memset(mInputBuffer + mInputBufferStart, 0, theContiguousRange);
|
||||
|
||||
|
||||
// now clear the bits left from the start
|
||||
memset(mInputBuffer, 0, inConsumedByteSize - theContiguousRange);
|
||||
|
||||
|
||||
// adjust the start
|
||||
mInputBufferStart = inConsumedByteSize - theContiguousRange;
|
||||
}
|
||||
|
|
@ -287,24 +287,24 @@ void ACSimpleCodec::ConsumeInputData(UInt32 inConsumedByteSize)
|
|||
Byte* ACSimpleCodec::GetBytes(UInt32& ioNumberBytes) const
|
||||
{
|
||||
// if a client's algorithm has to have contiguous data and mInputBuffer wraps, then someone has to make a copy.
|
||||
// I can do it more efficiently than the client.
|
||||
|
||||
// I can do it more efficiently than the client.
|
||||
|
||||
if(!mIsInitialized) CODEC_THROW(kAudioCodecStateError);
|
||||
|
||||
UInt32 theUsedByteSize = GetUsedInputBufferByteSize();
|
||||
//UInt32 theAvailableByteSize = GetInputBufferByteSize() - theUsedByteSize;
|
||||
|
||||
|
||||
if (ioNumberBytes > theUsedByteSize) ioNumberBytes = theUsedByteSize;
|
||||
|
||||
|
||||
SInt32 leftOver = mInputBufferStart + ioNumberBytes - mInputBufferByteSize;
|
||||
|
||||
|
||||
if(leftOver > 0)
|
||||
{
|
||||
// need to copy beginning of buffer to the end.
|
||||
// need to copy beginning of buffer to the end.
|
||||
// We cleverly over allocated our buffer space to make this possible.
|
||||
memmove(mInputBuffer + mInputBufferByteSize, mInputBuffer, leftOver);
|
||||
}
|
||||
|
||||
|
||||
return GetInputBufferStart();
|
||||
}
|
||||
|
||||
|
|
@ -312,17 +312,17 @@ Byte* ACSimpleCodec::GetBytes(UInt32& ioNumberBytes) const
|
|||
void ACSimpleCodec::ReallocateInputBuffer(UInt32 inInputBufferByteSize)
|
||||
{
|
||||
mInputBufferByteSize = inInputBufferByteSize + kBufferPad;
|
||||
|
||||
|
||||
// toss the old buffer
|
||||
delete[] mInputBuffer;
|
||||
mInputBuffer = NULL;
|
||||
|
||||
|
||||
// allocate the new one
|
||||
// allocate extra in order to allow making contiguous data.
|
||||
UInt32 allocSize = 2*inInputBufferByteSize + kBufferPad;
|
||||
mInputBuffer = new Byte[allocSize];
|
||||
memset(mInputBuffer, 0, allocSize);
|
||||
|
||||
|
||||
// reset the ring buffer state
|
||||
mInputBufferStart = 0;
|
||||
mInputBufferEnd = 0;
|
||||
|
|
@ -359,6 +359,6 @@ void ACSimpleCodec::SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inProp
|
|||
break;
|
||||
default:
|
||||
ACBaseCodec::SetProperty(inPropertyID, inPropertyDataSize, inPropertyData);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue