Changeset View
Changeset View
Standalone View
Standalone View
src/mediaplayer.cpp
Show All 24 Lines | |||||
103 | { | 103 | { | ||
104 | libvlc_media_player_release(m_player); | 104 | libvlc_media_player_release(m_player); | ||
105 | } | 105 | } | ||
106 | 106 | | |||
107 | void MediaPlayer::setMedia(Media *media) | 107 | void MediaPlayer::setMedia(Media *media) | ||
108 | { | 108 | { | ||
109 | m_media = media; | 109 | m_media = media; | ||
110 | libvlc_media_player_set_media(m_player, *m_media); | 110 | libvlc_media_player_set_media(m_player, *m_media); | ||
111 | | ||||
112 | if (!mOutputName.isEmpty()) { | ||||
113 | libvlc_audio_output_set(m_player, mOutputName.constData()); | ||||
114 | } | ||||
115 | | ||||
116 | if (!mDeviceName.isEmpty()) { | ||||
117 | // VLC recommendation is that the second 'module' parameter | ||||
118 | // is NULL, see API documentation of libvlc_audio_output_device_set() | ||||
119 | // at https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__audio.html | ||||
120 | libvlc_audio_output_device_set(m_player, nullptr, mDeviceName.constData()); | ||||
121 | } | ||||
111 | } | 122 | } | ||
112 | 123 | | |||
113 | bool MediaPlayer::play() | 124 | bool MediaPlayer::play() | ||
114 | { | 125 | { | ||
115 | m_doingPausedPlay = false; | 126 | m_doingPausedPlay = false; | ||
116 | return libvlc_media_player_play(m_player) == 0; | 127 | return libvlc_media_player_play(m_player) == 0; | ||
117 | } | 128 | } | ||
118 | 129 | | |||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Line(s) | |||||
394 | 405 | | |||
395 | void MediaPlayer::setCdTrack(int track) | 406 | void MediaPlayer::setCdTrack(int track) | ||
396 | { | 407 | { | ||
397 | if (!m_media) | 408 | if (!m_media) | ||
398 | return; | 409 | return; | ||
399 | libvlc_media_player_stop(m_player); | 410 | libvlc_media_player_stop(m_player); | ||
400 | m_media->setCdTrack(track); | 411 | m_media->setCdTrack(track); | ||
401 | libvlc_media_player_set_media(m_player, *m_media); | 412 | libvlc_media_player_set_media(m_player, *m_media); | ||
413 | // TODO: does this need to reset the output/device as in setMedia() above? | ||||
402 | libvlc_media_player_play(m_player); | 414 | libvlc_media_player_play(m_player); | ||
403 | } | 415 | } | ||
404 | 416 | | |||
405 | #if (LIBVLC_VERSION_INT >= LIBVLC_VERSION(2, 2, 0, 0)) | 417 | #if (LIBVLC_VERSION_INT >= LIBVLC_VERSION(2, 2, 0, 0)) | ||
406 | void MediaPlayer::setEqualizer(libvlc_equalizer_t *equalizer) | 418 | void MediaPlayer::setEqualizer(libvlc_equalizer_t *equalizer) | ||
407 | { | 419 | { | ||
408 | libvlc_media_player_set_equalizer(m_player, equalizer); | 420 | libvlc_media_player_set_equalizer(m_player, equalizer); | ||
409 | } | 421 | } | ||
410 | #endif | 422 | #endif | ||
411 | 423 | | |||
412 | } // namespace VLC | 424 | } // namespace VLC | ||
413 | } // namespace Phonon | 425 | } // namespace Phonon | ||
Context not available. |