[Lazarus] PasLibVlc error handling?
Bo Berglund
bo.berglund at gmail.com
Mon May 13 15:06:31 CEST 2019
On Mon, 13 May 2019 14:37:32 +0200, Bo Berglund via lazarus
<lazarus at lists.lazarus-ide.org> wrote:
>
>Does anyone here know how to make PasLibVlc supply an error code or
>error message when an error occurs?
>I have implemented the event OnMediaPlayerEncounteredError in order to
>check what is happening. So in this event handler I just display the
>vlcPlayer.LastError and it is always an empty string...
>
>I would like to know exactly what has happeden when trying to open a
>media stream or file.
>
>There are numerous possibilities like: non-existing target, http login
>required, unsupported stream format etc.
>What I have encountered is the login required error when the media
>resides on a password protected directory on the webserver.
>
>Anyone who has used PasLibVlc and solved the error handling?
>
Forgot to add the underlying event code from PasLibVlc:
property LastError: string
read FError
write FError;
procedure TPasLibVlcPlayer.WmMediaPlayerEncounteredError(var m:
TVlcMessage);
var
tmp : PAnsiChar;
begin
tmp := libvlc_errmsg();
if (tmp <> NIL) then
begin
FError := {$IFDEF
DELPHI_XE2_UP}UTF8ToWideString{$ELSE}UTF8Decode{$ENDIF}(tmp);
end
else
begin
FError := '';
end;
if Assigned(FOnMediaPlayerEncounteredError) then
FOnMediaPlayerEncounteredError(SELF);
m.Result := 0;
end;
And here is my simple test code:
procedure TfrmMain.vlcPlayerMediaPlayerEncounteredError(Sender:
TObject);
begin
MessageDlg('Error: ' + vlcPlayer.LastError, mtError, [mbOk], 0);
end;
The message dialog always shows "Error: ", i.e the LastError string is
always empty.
--
Bo Berglund
Developer in Sweden
More information about the lazarus
mailing list