aboutsummaryrefslogtreecommitdiff
path: root/test/test_bass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_bass.cpp')
-rw-r--r--test/test_bass.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/test/test_bass.cpp b/test/test_bass.cpp
index 0709fb92..24357492 100644
--- a/test/test_bass.cpp
+++ b/test/test_bass.cpp
@@ -5,16 +5,26 @@
#include <QString>
#include "bass.h"
+#include "bassopus.h"
TEST_CASE("BASS URL streaming", "[bass]") {
// Sample
QString url = "https://raw.githubusercontent.com/skyedeving/aocharedit/master/Attorney%20Online%20Character%20Editor/Resources/about.mp3";
+
+ // initialize
BASS_Init(-1, 44100, 0, 0, nullptr);
-#ifdef _WIN32
- HSTREAM stream = BASS_StreamCreateURL(url.toWStdString().c_str(), 0, BASS_STREAM_STATUS, nullptr, 0);
-#else
- HSTREAM stream = BASS_StreamCreateURL(url.toStdString().c_str(), 0, BASS_STREAM_STATUS, nullptr, 0);
-#endif
+
+ // create stream from url
+ HSTREAM stream;
+ unsigned int flags = BASS_STREAM_AUTOFREE | BASS_STREAM_STATUS;
+ if (url.endsWith(".opus")) {
+ stream = BASS_OPUS_StreamCreateURL(url.toStdString().c_str(), 0, flags, nullptr, 0);
+ }
+ else {
+ stream = BASS_StreamCreateURL(url.toStdString().c_str(), 0, flags, nullptr, 0);
+ }
+
+ // Log http status
const char *tags = BASS_ChannelGetTags(stream, BASS_TAG_HTTP);
if (tags) {
while(*tags) {
@@ -22,7 +32,9 @@ TEST_CASE("BASS URL streaming", "[bass]") {
tags += strlen(tags) + 1;
}
}
+
+ // Test
REQUIRE(stream != 0);
REQUIRE(BASS_ChannelPlay(stream, TRUE) == TRUE);
- // while (BASS_ChannelIsActive(stream) != BASS_ACTIVE_STOPPED);
+ // while (BASS_ChannelIsActive(stream) != BASS_ACTIVE_STOPPED); // block test to listen
}