News:

SMF - Just Installed!

Main Menu

Recent posts

#1
Hi,

After replacing the multimedia engine library, the program no longer experiences sudden interruptions. However, if I perform a stress test by continuously pressing the [Load] button, the program becomes unresponsive. This issue can be resolved through programming.

I will continue testing and will report any other issues. Thank you.

Terry
#2
Hello,

unfortunately this doesn't help because we cannot understand the exact point of the code where the application crashes.
In any case we have made a slight modification to our engine in order to avoid a potential issue when the connection to your test url fails. You can get the latest build of the multimedia engine from the link below:

https://www.multimediasoft.com/bins/AdjMmsEng14.zip
and you can use it to replace existing instances on your PC under the following folders:
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio DJ Studio API for .NET\Redist
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio Sound Recorder API for .NET\Redist
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio Sound Editor API for .NET\Redist
* If your machine has a x86 version of Windows
   - C:\Windows\System32
* If your machine has a x64 version of Windows
   - C:\Windows\SysWOW64

The x64 version is available as well on the link below:
https://www.multimediasoft.com/bins/AdjMmsEng14_64.zip
and you can use it to replace existing instances on your PC under the following folders:
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio DJ Studio API for .NET\Redist
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio Sound Recorder API for .NET\Redist
* C:\Program Files\MultiMedia Soft\Audio Sound Suite API for .NET\Audio Sound Editor API for .NET\Redist
* If your machine has a x64 version of Windows
   - C:\Windows\System32

It would be very kind of you if you could report us if the updated version is enough to fix the reported issue.

Kind Regards

Severino Delaurenti
MultiMedia Soft

#3
Hi,

When the connection and playback are normal, it usually triggers enumPlayerEvents.EV_STREAM_CONNECTING and then continues with the callback. However, when the program crashes, after triggering enumPlayerEvents.EV_STREAM_CONNECTING, the program stops responding and does not proceed to the callback. It crashed immediately after not responding for a few seconds, preventing the call stack from being checked.




Hope this information helps.

Thank you.
Terry


#4
Hello,

we have tried several times to connect and, as you reported, most of the times the connection fails.
When the connection fails, by reading the URL directly, in a few cases we have got back an error message that the icecast connection reached its limit, in other cases we simply get back some stream of bytes without any useful information.

Unfortunately, in no case we experienced a crash so at the moment this doesn't allow us to understand its nature. If you could launch the InternetRadio.exe sample in debug mode from Visual Studio and get the call stack of the crash we could probably have a better understanding of the issue.

Kind Regards

Severino Delaurenti
MultiMedia Soft
#5
Hi,

http://220.135.102.142:8010/test

Sometimes it can connect and stream, sometimes it can't, and usually it suddenly crashes immediately. Please try several times.

Thank you.
Terry


#6
Hello,

please, provide a valid URL that we can use to perform some testing in order to reproduce the issue.

Kind Regards

Severino Delaurenti
MultiMedia Soft
#7
Hi,

I want to add that the Icecast server the program connects to does not use a playlist or mp3 file for streaming, but rather a stream similar to the following URL: http://ipaddress:8000/test

Thank you.
Terry
#8
Hi,

I used your sample program InternetRadio.exe to connect to a streaming server set up with Icecast2 and with a connection limit.

Connections and playback are normal within the connection limit, but if the program connects under the condition of being the last available connection, it usually sometimes connects and sometimes doesn't. More often, the program crashes immediately without any error message, leaving an Application Error 1000 kernelbase.dll error record in the Windows Event Viewer.

Is there a way to solve this?

Thank you.
Terry
#9
Hello

Quote from: Terry on November 07, 2024, 06:35:13 AMThere are two ways to send an audio stream to a streaming server. The sample project is one of them.
But it still needs to be attached to a Player and then output.
Is there any way to capture only the input audio source but not play output?

Yes, you can avoid any sound being sent to the render device by setting its output device to -1; inside the FormMain_Load function you will find the following lines of code

// obtain the stream mixer internal to the selected WASAPI device
m_nStreamMixerUniqueID = m_audioDjAPI.StreamMixerGetIdFromOutput (m_nWasapiDevice);

simply add the following code immediately after them:

m_audioDjAPI.StreamOutputDeviceSet(m_nStreamMixerUniqueID, -1);

QuoteThere is one more thing that I am confused about the WasapiMixAndClone sample project.
Why a control can initial more than 4 players? The three extra Players in the sample program seem to have no effect.

// init the DJ Studio control by instancing an adequate number of players:
// 2 for playing sound files from disk and 5 for attaching input devices
short nPlayers = 2 + 5;
nPlayers = m_audioDjAPI.InitSoundSystem(nPlayers, m_nWasapiDevice, m_nWasapiDevice, m_nWasapiDevice, 0);

Inside the project there are 2 players that are used for loading and playing sound files from disk (Player_1 and Player_2) while the other 5 players (Player_Input_3 up to Player_Input_7) are used to attach different input channels and mix them into the internal stream mixer of the render device.
If you shouldn't need to play sounds from files on disk and you should simply need to attach and cast one single input stream you may instance one single player only.

Hope this helps

Kind regards

Severino Delaurenti
MultiMedia Soft
#10
Hi,

There are two ways to send an audio stream to a streaming server. The sample project is one of them.
But it still needs to be attached to a Player and then output.
Is there any way to capture only the input audio source but not play output?

There is one more thing that I am confused about the WasapiMixAndClone sample project.
Why a control can initial more than 4 players? The three extra Players in the sample program seem to have no effect.

// init the DJ Studio control by instancing an adequate number of players:
// 2 for playing sound files from disk and 5 for attaching input devices
short nPlayers = 2 + 5;
nPlayers = m_audioDjAPI.InitSoundSystem(nPlayers, m_nWasapiDevice, m_nWasapiDevice, m_nWasapiDevice, 0);

Terry
Thank you