diff --git a/client/player/openslPlayer.cpp b/client/player/openslPlayer.cpp index 74e7540a..8f819620 100644 --- a/client/player/openslPlayer.cpp +++ b/client/player/openslPlayer.cpp @@ -29,6 +29,7 @@ using namespace std; +// source: https://github.com/hrydgard/native/blob/master/android/native-audio-so.cpp // This is kinda ugly, but for simplicity I've left these as globals just like in the sample, // as there's not really any use case for this where we have multiple audio devices yet. @@ -91,7 +92,7 @@ static void bqPlayerCallback(SLAndroidSimpleBufferQueueItf bq, void *context) // diff = 0; // chronos::usec delay((250 - diff) * 1000); - chronos::usec delay(250 * 1000); + chronos::usec delay(150 * 1000); if (player->pubStream_->getPlayerChunk(buffer[curBuffer], delay, player->frames_)) { @@ -197,8 +198,8 @@ void OpenslPlayer::initOpensl() SLAndroidConfigurationItf playerConfig; result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_ANDROIDCONFIGURATION, &playerConfig); -// SLint32 streamType = SL_ANDROID_STREAM_MEDIA; - SLint32 streamType = SL_ANDROID_STREAM_VOICE; + SLint32 streamType = SL_ANDROID_STREAM_MEDIA; +// SLint32 streamType = SL_ANDROID_STREAM_VOICE; result = (*playerConfig)->SetConfiguration(playerConfig, SL_ANDROID_KEY_STREAM_TYPE, &streamType, sizeof(SLint32)); result = (*bqPlayerObject)->Realize(bqPlayerObject, SL_BOOLEAN_FALSE); diff --git a/client/snapClient.cpp b/client/snapClient.cpp index 3203f383..007e7324 100644 --- a/client/snapClient.cpp +++ b/client/snapClient.cpp @@ -89,9 +89,7 @@ int main (int argc, char **argv) try { -logO << "1\n"; op.parse(argc, argv); -logO << "2\n"; } catch (const std::invalid_argument& e) { diff --git a/client/stream.cpp b/client/stream.cpp index 15f565a0..76a0cf63 100644 --- a/client/stream.cpp +++ b/client/stream.cpp @@ -303,7 +303,7 @@ bool Stream::getPlayerChunk(void* outputBuffer, const cs::usec& outputBufferDacT { if (buffer_.full()) { - if (cs::usec(abs(median_)) > cs::msec(1)) + if (cs::usec(abs(median_)) > cs::msec(2)) { logO << "pBuffer->full() && (abs(median_) > 1): " << median_ << "\n"; sleep_ = cs::usec(shortMedian_); @@ -319,7 +319,7 @@ bool Stream::getPlayerChunk(void* outputBuffer, const cs::usec& outputBufferDacT */ } else if (shortBuffer_.full()) { - if (cs::usec(abs(shortMedian_)) > cs::msec(5)) + if (cs::usec(abs(shortMedian_)) > cs::msec(20)) { logO << "pShortBuffer->full() && (abs(shortMedian_) > 5): " << shortMedian_ << "\n"; sleep_ = cs::usec(shortMedian_); @@ -329,7 +329,7 @@ bool Stream::getPlayerChunk(void* outputBuffer, const cs::usec& outputBufferDacT setRealSampleRate(format_.rate + -shortMedian_ / 100); } */ } - else if (miniBuffer_.full() && (cs::usec(abs(miniBuffer_.median())) > cs::msec(50))) + else if (miniBuffer_.full() && (cs::usec(abs(miniBuffer_.median())) > cs::msec(200))) { logO << "pMiniBuffer->full() && (abs(pMiniBuffer->mean()) > 50): " << miniBuffer_.median() << "\n"; sleep_ = cs::usec((cs::msec::rep)miniBuffer_.mean());