| @@ -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); | ||||