Fix some minor vlc issues

This commit is contained in:
Jonas Kvinge 2019-04-23 19:20:46 +02:00
parent 1c911575fa
commit 0a1dfeb860
2 changed files with 8 additions and 13 deletions

View File

@ -85,13 +85,6 @@ bool VLCEngine::Init() {
} }
bool VLCEngine::Initialised() const {
if (instance_ && player_) return true;
return false;
}
bool VLCEngine::Load(const QUrl &media_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) { bool VLCEngine::Load(const QUrl &media_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec) {
if (!Initialised()) return false; if (!Initialised()) return false;
@ -110,9 +103,9 @@ bool VLCEngine::Play(quint64 offset_nanosec) {
if (!Initialised()) return false; if (!Initialised()) return false;
// Set audio output // Set audio output
if (!output_.isEmpty() || output_ != "auto") { if (!output_.isEmpty() && output_ != "auto") {
int result = libvlc_audio_output_set(player_, output_.toUtf8().constData()); int result = libvlc_audio_output_set(player_, output_.toUtf8().constData());
if (result != 0) qLog(Error) << "Failed to set output."; if (result != 0) qLog(Error) << "Failed to set output to" << output_;
} }
// Set audio device // Set audio device
@ -172,14 +165,14 @@ void VLCEngine::SetVolumeSW(uint percent) {
} }
qint64 VLCEngine::position_nanosec() const { qint64 VLCEngine::position_nanosec() const {
if (state() == Engine::Empty) return 0; if (state_ == Engine::Empty) return 0;
const qint64 result = (position() * kNsecPerMsec); const qint64 result = (position() * kNsecPerMsec);
return qint64(qMax(0ll, result)); return qint64(qMax(0ll, result));
} }
qint64 VLCEngine::length_nanosec() const { qint64 VLCEngine::length_nanosec() const {
if (state() == Engine::Empty) return 0; if (state_ == Engine::Empty) return 0;
const qint64 result = (end_nanosec_ - beginning_nanosec_); const qint64 result = (end_nanosec_ - beginning_nanosec_);
if (result > 0) { if (result > 0) {
return result; return result;
@ -259,7 +252,9 @@ bool VLCEngine::CanDecode(const QUrl &url) { return true; }
void VLCEngine::AttachCallback(libvlc_event_manager_t *em, libvlc_event_type_t type, libvlc_callback_t callback) { void VLCEngine::AttachCallback(libvlc_event_manager_t *em, libvlc_event_type_t type, libvlc_callback_t callback) {
libvlc_event_attach(em, type, callback, this); if (libvlc_event_attach(em, type, callback, this) != 0) {
qLog(Error) << "Failed to attach callback.";
}
} }

View File

@ -71,7 +71,7 @@ class VLCEngine : public Engine::Base {
libvlc_media_player_t *player_; libvlc_media_player_t *player_;
Engine::State state_; Engine::State state_;
bool Initialised() const; bool Initialised() const { return (instance_ && player_); }
uint position() const; uint position() const;
uint length() const; uint length() const;
bool CanDecode(const QUrl &url); bool CanDecode(const QUrl &url);