diff options
Diffstat (limited to 'packages/libvlc')
-rwxr-xr-x | packages/libvlc/src/vlc.pp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/libvlc/src/vlc.pp b/packages/libvlc/src/vlc.pp index 346e5feab7..2a9bf6a606 100755 --- a/packages/libvlc/src/vlc.pp +++ b/packages/libvlc/src/vlc.pp @@ -473,7 +473,10 @@ end; function TCustomVLCMediaListPlayer.GetPlaying: Boolean; begin - Result:=libvlc_media_list_player_is_playing(Instance)<>0; + if Assigned(FPlayer) then + Result:=libvlc_media_list_player_is_playing(Instance)<>0 + else + Result:=false; end; function TCustomVLCMediaListPlayer.GetInstance: plibvlc_media_list_player_t; @@ -495,7 +498,10 @@ end; function TCustomVLCMediaListPlayer.GetState: libvlc_state_t; begin - Result:=libvlc_media_list_player_get_state(Instance) + if Assigned(FInstance) then + Result:=libvlc_media_list_player_get_state(Instance) + else + Result:=libvlc_NothingSpecial; end; function TCustomVLCMediaListPlayer.GetVLC: TVLCLibrary; @@ -527,6 +533,7 @@ begin end; procedure TCustomVLCMediaListPlayer.SetPlayMode(AValue: TVLCPlayMode); + Const M : Array [TVLCPlayMode] of libvlc_playback_mode_t = (libvlc_playback_mode_default, @@ -534,6 +541,7 @@ Const libvlc_playback_mode_repeat); begin + if not Assigned(Finstance) then Exit; if FPlayMode=AValue then Exit; FPlayMode:=AValue; libvlc_media_list_player_set_playback_mode(FInstance, M[AValue]); |