@@ -1003,7 +1003,7 @@ AudioFormatWriter* AiffAudioFormat::createWriterFor (OutputStream* out, | |||||
const StringPairArray& metadataValues, | const StringPairArray& metadataValues, | ||||
int /*qualityOptionIndex*/) | int /*qualityOptionIndex*/) | ||||
{ | { | ||||
if (getPossibleBitDepths().contains (bitsPerSample)) | |||||
if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) | |||||
return new AiffAudioFormatWriter (out, sampleRate, numberOfChannels, (unsigned int) bitsPerSample, metadataValues); | return new AiffAudioFormatWriter (out, sampleRate, numberOfChannels, (unsigned int) bitsPerSample, metadataValues); | ||||
return nullptr; | return nullptr; | ||||
@@ -536,7 +536,7 @@ AudioFormatWriter* FlacAudioFormat::createWriterFor (OutputStream* out, | |||||
const StringPairArray& /*metadataValues*/, | const StringPairArray& /*metadataValues*/, | ||||
int qualityOptionIndex) | int qualityOptionIndex) | ||||
{ | { | ||||
if (getPossibleBitDepths().contains (bitsPerSample)) | |||||
if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) | |||||
{ | { | ||||
ScopedPointer<FlacWriter> w (new FlacWriter (out, sampleRate, numberOfChannels, | ScopedPointer<FlacWriter> w (new FlacWriter (out, sampleRate, numberOfChannels, | ||||
(uint32) bitsPerSample, qualityOptionIndex)); | (uint32) bitsPerSample, qualityOptionIndex)); | ||||
@@ -205,6 +205,9 @@ AudioFormatWriter* LAMEEncoderAudioFormat::createWriterFor (OutputStream* stream | |||||
const StringPairArray& metadataValues, | const StringPairArray& metadataValues, | ||||
int qualityOptionIndex) | int qualityOptionIndex) | ||||
{ | { | ||||
if (streamToWriteTo == nullptr) | |||||
return nullptr; | |||||
int vbr = 4; | int vbr = 4; | ||||
int cbr = 0; | int cbr = 0; | ||||
@@ -483,8 +483,12 @@ AudioFormatWriter* OggVorbisAudioFormat::createWriterFor (OutputStream* out, | |||||
const StringPairArray& metadataValues, | const StringPairArray& metadataValues, | ||||
int qualityOptionIndex) | int qualityOptionIndex) | ||||
{ | { | ||||
if (out == nullptr) | |||||
return nullptr; | |||||
ScopedPointer<OggWriter> w (new OggWriter (out, sampleRate, numChannels, | ScopedPointer<OggWriter> w (new OggWriter (out, sampleRate, numChannels, | ||||
(unsigned int) bitsPerSample, qualityOptionIndex, metadataValues)); | |||||
(unsigned int) bitsPerSample, | |||||
qualityOptionIndex, metadataValues)); | |||||
return w->ok ? w.release() : nullptr; | return w->ok ? w.release() : nullptr; | ||||
} | } | ||||
@@ -1606,7 +1606,7 @@ AudioFormatWriter* WavAudioFormat::createWriterFor (OutputStream* out, double sa | |||||
unsigned int numChannels, int bitsPerSample, | unsigned int numChannels, int bitsPerSample, | ||||
const StringPairArray& metadataValues, int /*qualityOptionIndex*/) | const StringPairArray& metadataValues, int /*qualityOptionIndex*/) | ||||
{ | { | ||||
if (getPossibleBitDepths().contains (bitsPerSample)) | |||||
if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) | |||||
return new WavAudioFormatWriter (out, sampleRate, (unsigned int) numChannels, | return new WavAudioFormatWriter (out, sampleRate, (unsigned int) numChannels, | ||||
(unsigned int) bitsPerSample, metadataValues); | (unsigned int) bitsPerSample, metadataValues); | ||||