void VlcVideo::hideLogo() { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_logo_int(_vlcMediaPlayer, libvlc_logo_enable, 0); VlcError::errmsg(); } }
void VlcVideo::setSubtitleFile(const QString &subtitle) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_subtitle_file(_vlcMediaPlayer, subtitle.toUtf8().data()); VlcError::errmsg(); } }
void VlcVideo::setTeletextPage(int page) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_teletext(_vlcMediaPlayer, page); VlcError::errmsg(); } }
void VlcVideo::setScale(const Vlc::Scale &scale) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_scale(_vlcMediaPlayer, Vlc::scale()[scale]); VlcError::errmsg(); } }
void VlcVideo::setSubtitle(int subtitle) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_spu(_vlcMediaPlayer, subtitle); VlcError::errmsg(); } }
/***************************************************************************** * VlcPluginBase playlist replacement methods *****************************************************************************/ bool VlcPluginBase::player_has_vout() { bool r = false; if( playlist_isplaying() ) r = libvlc_media_player_has_vout(get_player().get_mp())!=0; return r; }
bool VlcPlugin::player_has_vout( libvlc_exception_t *ex ) { bool r = false; if( playlist_isplaying(ex) ) r = libvlc_media_player_has_vout(libvlc_media_player, ex); return r; }
void VlcVideo::hideMarquee() { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Enable, 0); VlcError::errmsg(); } }
void VlcVideo::setAspectRatio(const Vlc::Ratio &ratio) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_aspect_ratio(_vlcMediaPlayer, Vlc::ratio()[ratio].toUtf8().data()); VlcError::errmsg(); } }
void VlcVideo::setCropGeometry(const Vlc::Ratio &ratio) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_crop_geometry(_vlcMediaPlayer, Vlc::ratio()[ratio].toUtf8().data()); VlcError::errmsg(); } }
void VlcVideo::toggleTeletextTransparency() { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_toggle_teletext(_vlcMediaPlayer); VlcError::errmsg(); } }
void VlcVideo::setCropGeometry(const Vlc::Ratio &ratio) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { QString ratioOut = ratio == Vlc::Ignore ? "" : Vlc::ratio()[ratio]; libvlc_video_set_crop_geometry(_vlcMediaPlayer, ratioOut.toUtf8().data()); VlcError::showErrmsg(); } }
int VlcVideo::subtitleCount() const { int count = -1; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { count = libvlc_video_get_spu_count(_vlcMediaPlayer); VlcError::errmsg(); } return count; }
bool VlcVideo::takeSnapshot(const QString &path) const { bool success = false; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { success = libvlc_video_take_snapshot(_vlcMediaPlayer, 0, path.toUtf8().data(), 0, 0) + 1; VlcError::errmsg(); } return success; }
int VlcVideo::teletextPage() const { int page = -1; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { page = libvlc_video_get_teletext(_vlcMediaPlayer); VlcError::errmsg(); } return page; }
Vlc::Ratio VlcVideo::cropGeometry() const { QString crop = ""; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { crop = libvlc_video_get_crop_geometry(_vlcMediaPlayer); VlcError::errmsg(); } return Vlc::Ratio(Vlc::ratio().indexOf(crop)); }
QString VlcVideo::cropGeometryString() const { QString crop = ""; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { crop = libvlc_video_get_crop_geometry(_vlcMediaPlayer); VlcError::errmsg(); } return crop; }
Vlc::Scale VlcVideo::scale() const { float scale = 0; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { scale = libvlc_video_get_scale(_vlcMediaPlayer); VlcError::errmsg(); } return Vlc::Scale(Vlc::scale().indexOf(scale)); }
int VlcVideo::subtitle() const { int subtitle = -1; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { subtitle = libvlc_video_get_spu(_vlcMediaPlayer); VlcError::errmsg(); } return subtitle; }
Vlc::Ratio VlcVideo::aspectRatio() const { QString ratio = ""; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { ratio = libvlc_video_get_aspect_ratio(_vlcMediaPlayer); VlcError::errmsg(); } return Vlc::Ratio(Vlc::ratio().indexOf(ratio)); }
QSize VlcVideo::size() const { unsigned x = 640; unsigned y = 480; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_get_size(_vlcMediaPlayer, 0, &x, &y); VlcError::errmsg(); } return QSize(x, y); }
STDMETHODIMP VLCInput::get_hasVout(VARIANT_BOOL* hasVout) { if( NULL == hasVout ) return E_POINTER; libvlc_media_player_t *p_md; HRESULT hr = getMD(&p_md); if( SUCCEEDED(hr) ) { *hasVout = varbool( libvlc_media_player_has_vout(p_md) ); } return hr; };
void VlcVideo::showLogo(const QString &file, int x, int y, int opacity) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_logo_string(_vlcMediaPlayer, libvlc_logo_file, file.toUtf8().data()); libvlc_video_set_logo_int(_vlcMediaPlayer, libvlc_logo_x, x); libvlc_video_set_logo_int(_vlcMediaPlayer, libvlc_logo_y, y); libvlc_video_set_logo_int(_vlcMediaPlayer, libvlc_logo_opacity, opacity); libvlc_video_set_logo_int(_vlcMediaPlayer, libvlc_logo_enable, 1); } }
//TEST - VIDEO WINDOW MOVE/RESIZE int VLCWrapperImpl::MoveResizeWindow(int x, int y, int w, int h) { int nRet = 0; if ( m_pMediaPlayer ) { nRet = libvlc_media_player_has_vout(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); if ( nRet ) { libvlc_video_move_resize(m_pMediaPlayer, x, y, w, h, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); } } return nRet; }
int VLCWrapperImpl::DestroyWindow(void) { int nRet = 0; if ( m_pMediaPlayer ) { nRet = libvlc_media_player_has_vout(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); if ( nRet ) { libvlc_video_destroy_window(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); } } return nRet; }
int VLCWrapperImpl::ShowWindow(int nShow) { int nRet = 0; if ( m_pMediaPlayer ) { nRet = libvlc_media_player_has_vout(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); if ( nRet ) { libvlc_video_show_window(m_pMediaPlayer, nShow, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); } } return nRet; }
int VLCWrapperImpl::IsWindowVisible(void) { int nRet = 0; if ( m_pMediaPlayer ) { nRet = libvlc_media_player_has_vout(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); if ( nRet ) { nRet = libvlc_video_is_window_visible(m_pMediaPlayer, &m_VLCex); ProcessVLCException(&m_VLCex, m_EH); } } return nRet; }
QStringList VlcVideo::subtitleDescription() const { QStringList descriptions; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_track_description_t *desc; desc = libvlc_video_get_spu_description(_vlcMediaPlayer); VlcError::errmsg(); descriptions << QString().fromUtf8(desc->psz_name); if (subtitleCount() > 1) { for(int i = 1; i < subtitleCount(); i++) { desc = desc->p_next; descriptions << QString().fromUtf8(desc->psz_name); } } } return descriptions; }
QList<int> VlcVideo::subtitleIds() const { QList<int> ids; if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_track_description_t *desc; desc = libvlc_video_get_spu_description(_vlcMediaPlayer); VlcError::errmsg(); ids << desc->i_id; if (subtitleCount() > 1) { for(int i = 1; i < subtitleCount(); i++) { desc = desc->p_next; ids << desc->i_id; } } } return ids; }
void VlcVideo::showMarquee(const QString &text, int x, int y, int timeout, int opacity, int size, int color, int refresh) { if (_vlcMediaPlayer && libvlc_media_player_has_vout(_vlcMediaPlayer)) { libvlc_video_set_marquee_string(_vlcMediaPlayer, libvlc_marquee_Text, text.toUtf8().data()); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_X, x); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Y, y); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Timeout, timeout); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Opacity, opacity); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Size, size); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Color, color); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Refresh, refresh); libvlc_video_set_marquee_int(_vlcMediaPlayer, libvlc_marquee_Enable, 1); } }