diff --git a/src/streaming/streamserver.cpp b/src/streaming/streamserver.cpp index 8a4ef34c8..40005c3df 100644 --- a/src/streaming/streamserver.cpp +++ b/src/streaming/streamserver.cpp @@ -134,7 +134,7 @@ void StreamServer::SendStream(const QUrl& url, QTcpSocket* socket) { decodebin, audioconvert, audioresample, vorbisenc, oggmux, fdsink, NULL); - g_object_set(vorbisenc, "bitrate", getBitrate(), NULL); + g_object_set(vorbisenc, "quality", getQuality(), NULL); g_object_set(decodebin, "uri", url.toString().toUtf8().constData(), NULL); g_object_set(fdsink, "fd", socket->socketDescriptor(), NULL); @@ -161,8 +161,8 @@ void StreamServer::AsyncLoadComplete(const UrlHandler::LoadResult& result) { SendStream(result.media_url_, socket); } -int StreamServer::getBitrate() { +double StreamServer::getQuality() { QSettings s; s.beginGroup(kSettingsGroup); - return s.value("bitrate", 128).toInt() * 1000; + return s.value("quality", 0.3).toDouble(); } diff --git a/src/streaming/streamserver.h b/src/streaming/streamserver.h index 04e1de245..fc6d37545 100644 --- a/src/streaming/streamserver.h +++ b/src/streaming/streamserver.h @@ -30,7 +30,7 @@ class StreamServer : public QObject { private: QByteArray ParseRequest(const QByteArray& data); void SendStream(const QUrl& url, QTcpSocket* socket); - int getBitrate(); + double getQuality(); Player* player_; QTcpServer* server_; diff --git a/src/ui/streamingsettingspage.cpp b/src/ui/streamingsettingspage.cpp index d074745ca..41d7f2ea3 100644 --- a/src/ui/streamingsettingspage.cpp +++ b/src/ui/streamingsettingspage.cpp @@ -42,7 +42,7 @@ void StreamingSettingsPage::Load() { ui_->stream_port->setValue( s.value("port", StreamServer::kDefaultServerPort).toInt()); - ui_->bitrate_box->setValue(s.value("bitrate", 128).toInt()); + ui_->bitrate_box->setValue(s.value("quality", 0.3).toDouble() * 10); s.endGroup(); } @@ -55,7 +55,7 @@ void StreamingSettingsPage::Save() { s.setValue("use_streaming", ui_->use_streaming->isChecked()); s.setValue("port", ui_->stream_port->value()); - s.setValue("bitrate", ui_->bitrate_box->value()); + s.setValue("quality", double(ui_->bitrate_box->value()) / 10); s.endGroup(); diff --git a/src/ui/streamingsettingspage.ui b/src/ui/streamingsettingspage.ui index e0989f598..566633e22 100644 --- a/src/ui/streamingsettingspage.ui +++ b/src/ui/streamingsettingspage.ui @@ -84,7 +84,7 @@ - Bitrate + Quality @@ -92,11 +92,17 @@ + + -1 + - 250 + 10 + + + 1 - 128 + 3 Qt::Horizontal @@ -106,13 +112,19 @@ - kBps + + + + q + + + -1 - 250 + 10 - 128 + 3