# Soundcloud HTTP streaming stopped working after FMOD Core update

**URL:** <https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524>\
**Category:** FMOD Engine\
**Tags:** cpp\
**Created:** [December 5, 2020, 12:42am UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524 "2020-12-05T00:42:32Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![madmijk](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/madmijk/32/1755_2.png) [@madmijk](https://qa.fmod.com/u/madmijk)\
**Post date:** [December 5, 2020, 12:42am UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/1 "2020-12-05T00:42:32Z")

</div>

Hello all. I am a developer of a game that utilizes a custom plugin in UE4 that implements the FMOD Core. We used version 1.06.09 (five years old) and so far we use it exclusively for streaming music from Soundcloud and calculating FFTs of these streams on the fly.

A problem we experience is that the `Channel::setPosition` causes the stream to seize playing/existing, after which `Sound::getOpenState` keeps returning HTTP access errors. Here is a log made using the logging version of FMOD. Note that I had to censor our Soundcloud client ID in the streaming URL.

> **Log 1.06.09 - setPosition failing**
>
> ```auto
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi.cpp(3887) - filename = https://api.soundcloud.com/tracks/219610160/stream?client_id=[CLIENT ID] : mode 02010088
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi.cpp(3891) - FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(162) - Initializing FMOD nonblocking thread (0). priority 1
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(163) - - Stacksize 81920. Stack pointer 0000000000000000 : usesemaphore = 1 : sleeptime = 0
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(46) - * FMOD nonblocking thread (0) started
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi.cpp(4027) - setdata soundi = 00000267676E6EB8 : node = 000002676520D9B0
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi.cpp(4031) - add node to async list : head = 000002676364E590. list count = 0
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_async.cpp(307) - Starting Asynchronous operation on sound 00000267676E6EB8
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(526) - filename = https://api.soundcloud.com/tracks/219610160/stream?client_id=[CLIENT ID] : mode 02010088
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_fsb5.cpp(127) - Header check failed. Not an FSB5
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_oggvorbis.cpp(381) - failed to open as ogg
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_midi.cpp(2966) - 'HThd' ID check failed [???d]
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(996) - Format has 0 subsounds.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1093) - Create as FMOD_CREATESTREAM
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1175) - decode buffersize = 17280 : blocksize = 1152 : format = 2
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1993) - mode 0201008a length 17280 samples, lengthbytes 3860270
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(2060) - channels = 2
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(2066) - output = 0000026656BC8C88
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_output_software.cpp(154) - lengthpcm 17280, lengthbytes 3860270, channels 2, format 2, freq 44100, mode 0201008a
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1475) - Seek stream to start
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1487) - flush stream buffer
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1492) - flush successful.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1508) - switch file handle from small blocking single buffered to large nonblocking doublebuffered.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(162) - Initializing FMOD file thread. priority 1
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(163) - - Stacksize 16384. Stack pointer 0000000000000000 : usesemaphore = 0 : sleeptime = 10
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_thread.cpp(46) - * FMOD file thread started
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_system.cpp(1076) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1906) - No name found in file, use filename.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1967) - done. OpenState now = FMOD_OPENSTATE_READY.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_async.cpp(452) - Finished Asynchronous operation on sound 00000267676E6EB8
> --- Stream starts playing ---
> --- setPosition is called on the channel ---
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_async.cpp(307) - Starting Asynchronous operation on sound 00000267676E6EB8
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_async.cpp(452) - Finished Asynchronous operation on sound 00000267676E6EB8
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_sound.cpp(474) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_sound.cpp(474) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_sound.cpp(474) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_sound.cpp(474) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> --- And so on ---
> 
> ```

I narrowed down the issue to that this only seems to happen when the position that the stream is set to is not yet buffered, because setting the position of the stream only slightly ahead results in an audible skip with resumed streaming, as expected. Similarly, we have received bug reports for our game that involve the stream also stopping in the middle of a track, which I assume also has to do with the stream reaching a point that is no longer buffered.

I then attempted to use the `Sound::seekData` function to buffer the part of the stream that we want the stream to skip to (assuming that is what this function does), but that also failed. This time with a socket error.

> **Log 1.06.09 - seekData failing**
>
> ```auto
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(526) - filename = https://api.soundcloud.com/tracks/219610160/stream?client_id=[CLIENT ID] : mode 02000088
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_fsb5.cpp(127) - Header check failed. Not an FSB5
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_oggvorbis.cpp(381) - failed to open as ogg
> Error: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_codec_midi.cpp(2966) - 'HThd' ID check failed [???d]
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(996) - Format has 0 subsounds.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1093) - Create as FMOD_CREATESTREAM
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1175) - decode buffersize = 17280 : blocksize = 1152 : format = 2
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1993) - mode 0200008a length 17280 samples, lengthbytes 3860270
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(2060) - channels = 2
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(2066) - output = 00000146945E6198
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_output_software.cpp(154) - lengthpcm 17280, lengthbytes 3860270, channels 2, format 2, freq 44100, mode 0200008a
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1475) - Seek stream to start
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1487) - flush stream buffer
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1492) - flush successful.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1508) - switch file handle from small blocking single buffered to large nonblocking doublebuffered.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1906) - No name found in file, use filename.
> c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_systemi_sound.cpp(1967) - done. OpenState now = FMOD_OPENSTATE_READY.
> --- Stream starts playing ---
> --- seekData is called on the stream ---
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_net.cpp(427) - FMOD_RESULT = 43 -- A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 43 -- A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_net.cpp(427) - FMOD_RESULT = 43 -- A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 43 -- A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 42 -- Couldn't connect to the specified host.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_soundi.cpp(357) - FMOD_RESULT = 42 -- Couldn't connect to the specified host.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_sound.cpp(520) - FMOD_RESULT = 42 -- Couldn't connect to the specified host.
> Error: [Seek stream position]: Couldn't connect to the specified host.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_file_net.cpp(1077) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channel.cpp(134) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Error: [UpdateStream - getPosition]: An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channelcontrol.cpp(238) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channel.cpp(134) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Error: [UpdateStream - getPosition]: An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channelcontrol.cpp(238) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channel.cpp(134) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Error: [UpdateStream - getPosition]: An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channelcontrol.cpp(238) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Warning: c:\jk\workspace\Build __1.7__ API_Win\lowlevel_api\src\fmod_channel.cpp(134) - FMOD_RESULT = 30 -- An invalid object handle was used.
> Error: [UpdateStream - getPosition]: An invalid object handle was used.
> --- And so on ---
> 
> ```

I found in the FMOD Core version history that the very next release had "`Sound::seekData` support for HTTP streams," so I felt an update was necessary and updated the FMOD Core straight to the latest version (2.01.06). The problem that arises now is that streams simply won’t start playing anymore, as it only throws HTTP access errors now, see the log below. Note that this also happens on the oldest available version of the FMOD Core (1.08.00), which is still newer than the one we were using before.

> **Log 2.01.06 - stream failing to start**
>
> ```auto
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi.cpp(3970) - filename = https://api.soundcloud.com/tracks/219610160/stream?client_id=[CLIENT ID] : mode 02010088
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi.cpp(3974) - FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_thread.cpp(209) - Init FMOD nonblocking thread (0). Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi.cpp(4111) - setdata soundi = 000001C014D34198 : node = 000001BFCD0B4810
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi.cpp(4115) - add node to async list : head = 000001C00CDBA248. list count = 0
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_async.cpp(191) - Starting Asynchronous operation on sound 000001C014D34198
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi_sound.cpp(640) - Create name='https://api.soundcloud.com/tracks/219610160/stream?client_id=[CLIENT ID]', mode=0x02010088
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_os_net_winsock.cpp(218) - Attempting connection to '13.32.241.38:80'
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_os_net_winsock.cpp(218) - Attempting connection to '54.192.86.110:80'
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_fsb5.cpp(614) - FMOD_RESULT = 19 -- Unsupported file or audio format.
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_oggvorbis.cpp(357) - failed to open as ogg
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_mod.cpp(1242) - 'M.K.' etc ID check failed [UUUU]
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_s3m.cpp(1545) - 'SCRM' ID check failed [??$]
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_fsb5.cpp(614) - FMOD_RESULT = 19 -- Unsupported file or audio format.
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_oggvorbis.cpp(357) - failed to open as ogg
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_mod.cpp(1242) - 'M.K.' etc ID check failed [UUUU]
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_s3m.cpp(1545) - 'SCRM' ID check failed [??$]
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_xm.cpp(2206) - 'Extended Module: ' ID check failed [???d]
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_it.cpp(4092) - 'IMPM' etc ID check failed [???d]
> Error: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_codec_midi.cpp(2867) - 'HThd' ID check failed [???d]
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi_sound.cpp(1340) - Stream: name='(null)', format=2, channels=2, frequency=44100, lengthbytes=3860270, lengthpcm=10641024, pcmblocksize=1152, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.000000.
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_thread.cpp(209) - Init FMOD file thread. Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 49152, Semaphore: No, Sleep Time: 10, Looping: Yes.
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_os_net_winsock.cpp(218) - Attempting connection to '54.192.86.110:80'
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_system.cpp(1035) - FMOD_RESULT = 46 -- Operation could not be performed because specified sound/DSP connection is not ready.
> Error: [UpdateStream - playSound]: Operation could not be performed because specified sound/DSP connection is not ready.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_file_net.cpp(968) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_systemi_sound.cpp(1594) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_async.cpp(336) - Finished Asynchronous operation on sound 000001C014D34198
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_sound.cpp(467) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_sound.cpp(467) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_sound.cpp(467) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> Warning: c:\jk\workspace\Build __2.1__ API_Win\core_api\src\fmod_sound.cpp(467) - FMOD_RESULT = 22 -- The specified resource requires authentication or is forbidden.
> Error: [UpdateStream - getOpenState]: The specified resource requires authentication or is forbidden.
> --- And so on ---
> 
> ```

The code we use for streaming goes as follows. The stream is created using `System->createStream(ANSIStream, FMOD_2D | FMOD_IGNORETAGS, 0, &SoundPlayback->Stream)` with `ANSIStream` the stream URL and `Soundplayback->Stream` the Sound object. Next we poll `System->playSound(SoundPlayback->Stream, nullptr, false, &SoundPlayback->Channel)` with `SoundPlayback->Channel` the Channel object, until the sound can be played back over the Channel object (i.e. the function returns `FMOD_OK`).

In summary, I tried to use the `Sound::setPosition` function on version 1.06.09 on an HTTP stream, but that results in playback stopping completely. Updating to version 2.01.06 results in streams not even being able to start anymore.

I hope that someone will be able to help us figure out how to mitigate either of these issues, because we need to be able to set the stream positions.

---

<div class="post-metadata">

**Author:** ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)\
**Post date:** [December 7, 2020, 3:02am UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/2 "2020-12-07T03:02:26Z")

</div>

Hi ,  
If you have a url i can test myself I can see what might be happening. Can send them by email if you dont want them public.

---

<div class="post-metadata">

**Author:** ![madmijk](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/madmijk/32/1755_2.png) [@madmijk](https://qa.fmod.com/u/madmijk)\
**Post date:** [December 7, 2020, 8:20pm UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/3 "2020-12-07T20:20:11Z")

</div>

I would like to send it in private, but I will need an email address to send it to. Alternatively, if I am given the level 1 trust level in Discourse, I should be able to send you a private message on the forums.

---

<div class="post-metadata">

**Author:** ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)\
**Post date:** [December 7, 2020, 9:17pm UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/4 "2020-12-07T21:17:52Z")

</div>

you can use [support@fmod.com](mailto:support@fmod.com)

---

<div class="post-metadata">

**Author:** ![madmijk](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/madmijk/32/1755_2.png) [@madmijk](https://qa.fmod.com/u/madmijk)\
**Post date:** [December 7, 2020, 10:06pm UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/5 "2020-12-07T22:06:55Z")

</div>

Thank you! I sent the full URL.

---

<div class="post-metadata">

**Author:** ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)\
**Post date:** [December 9, 2020, 2:41am UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/6 "2020-12-09T02:41:04Z")

</div>

Just to give an update, the issue is simply a server configuration issue, it is just ‘permission denied’.  
This will take some more investigation to formulate GET headers differently to impersonate a browser for example, but I have read some hosts issue cookies to allow a browser to access the file, and that’s not something FMOD will be doing if it is the case.

---

<div class="post-metadata">

**Author:** ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)\
**Post date:** [February 22, 2021, 4:45am UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/7 "2021-02-22T04:45:18Z")

</div>

As an update I have now found that the error returned from the server was a subtle header format issue, which is not checked on a lot of servers. We have rectified this and your url now plays as it used to.  
This will be updated in the next release.

---

<div class="post-metadata">

**Author:** ![madmijk](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/madmijk/32/1755_2.png) [@madmijk](https://qa.fmod.com/u/madmijk)\
**Post date:** [May 28, 2021, 8:55pm UTC](https://qa.fmod.com/t/soundcloud-http-streaming-stopped-working-after-fmod-core-update/16524/8 "2021-05-28T20:55:11Z")

</div>

I have finally gotten around to testing the new version, and it seems to work! Thank you very much for your time and effort!
