2018-09-19

Ubuntu 18.04.1 LTS
Lazarus 1.8.4 + FPC 3.0.4 + VideoLAN 3.0.3

Compiled binaries can be downloaded here:
DemoPasLibVlc (1.69 MB) and DemoPasLibVlcPlayer (1.72 MB)

ubuntu-18.04.1-desktop-amd64.iso on VMware® Workstation 14.1.2 build-8497320.


# install VLC 3.0.3
sudo add-apt-repository ppa:jonathonf/vlc
sudo apt-get update
sudo apt-get install vlc

# install Lazarus 1.8.4 + fpc 3.0.4

# download deb packages from:
# https://sourceforge.net/projects/lazarus/files/
          Lazarus%20Linux%20amd64%20DEB/
          Lazarus%201.8.4/

# for example:

wget https://netix.dl.sourceforge.net/project/lazarus/\
Lazarus%20Linux%20amd64%20DEB/\
Lazarus%201.8.4/fpc-src_3.0.4-2_amd64.deb

wget https://kent.dl.sourceforge.net/project/lazarus/\
Lazarus%20Linux%20amd64%20DEB/\
Lazarus%201.8.4/fpc_3.0.4-3_amd64.deb

wget https://netix.dl.sourceforge.net/project/lazarus/\
Lazarus%20Linux%20amd64%20DEB/\
Lazarus%201.8.4/lazarus-project_1.8.4-0_amd64.deb

# install deb packages

sudo dpkg -i fpc_3.0.4-3_amd64.deb
sudo dpkg -i fpc-src_3.0.4-2_amd64.deb
sudo dpkg -i lazarus-project_1.8.4-0_amd64.deb


Download PasLibVlc.zip, unzip it, start Lazarus, open PasLibVlcPlayer.lpk and install it.

Software used to compile and test demo on Ubuntu 18.04.01 LTS: Lazarus 1.8.4 + FPC 3.0.4 + VideoLAN 3.0.3 + PasLibVlc 3.0.3
DemoPasLibVlc in action DemoPasLibVlcPlayer in action
2018-09-19

FreeBSD 12-ALPHA-6
Lazarus 1.8.4 + FPC 3.0.4 + VideoLAN 2.2.8

Compiled binaries can be downloaded here:
DemoPasLibVlc (0.81 MB) and DemoPasLibVlcPlayer (0.84 MB)


# ports
portsnap fetch extract
portsnap fetch update

# Install KDE

pkg install -y x11/kde4

# download and install fpc-3.0.4

wget wget ftp://ftp.freepascal.org/pub/fpc/dist/3.0.4/\
i386-freebsd/fpc-3.0.4.i386-freebsd11.tar
tar -xf fpc-3.0.4.i386-freebsd11.tar
cd fpc-3.0.4.i386-freebsd
sh install.sh

# download and unpack fpc-3.0.4 sources

wget https://netcologne.dl.sourceforge.net/project/\
freepascal/Source/3.0.4/fpc-3.0.4.source.tar.gz
tar -xzf fpc-3.0.4.source.tar.gz

# download and compile Lazarus-1.8.4

wget ftp://ftp.freepascal.org/pub/lazarus/releases/\
Lazarus%20Zip%20_%20GZip/Lazarus%201.8.4/lazarus-1.8.4.tar.gz

cd ~
tar -xf lazarus-1.8.4.tar.gz
cd lazarus
gmake clean bigide

Software used to compile demo on FreeBSD 12: Lazarus 1.8.0 + FPC 3.0.4 + VideoLAN 2.2.8 + PasLibVlc 3.0.3
DemoPasLibVlc in action DemoPasLibVlcPlayer in action
2016-10-18

MAC OSX 10.7.5
Delphi XE7 + FireMonkey + VideoLAN 2.0.10 (32bit)

This demo only work with VideoLAN 32 bit.

Compiled binaries can be downloaded here: FmxDemoPasLibVlc (3.1 MB)

Software used to compile demo on MAC OSX 10.7.5: Delphi XE7 Enterprise + VideoLAN 2.0.10 + PasLibVlc 2.2.7
DemoPasLibVlc in action

PasLibVlc - change log

2024-01-15

Download
(309)
 
win32
 
LAZARUS-3.0.0
XE11
XE7
D2007
D7
D4
 
win64
 
XE11
XE7
3.0.8

bug fixes

  merge changes reported by Javier Cuevas :

    new procedure:
      TPasLibVlc.DelOption(option : string);

    modified procedures:
      TPasLibVlcPlayer.WmMediaPlayerMediaChanged
      libvlc_media_player_set_display_window
      lib_vlc_player_event_hdlr

  correct function declartion:
    libvlc_renderer_discoverer_list_get
    libvlc_renderer_discoverer_list_release

  modify procedures:
    TPasLibVlcPlayer.EventsEnable();
    TPasLibVlcPlayer.EventsDisable();

Binary demos for windows separated from source code:

• Delphi XE11 (2 demos VCL + 2 demos FMX)
• Delphi XE7 (2 demos VCL + 2 demos FMX)
• Delphi 2007 (10 demos VCL)
• Delphi 7 (1 demo VCL)
• Delphi 4 (2 demos VCL)
• Lazarus 3.0.0 - FreePascal 3.2.2 (4 demo LCL)

Please note:

• 32 bit demo require 32 bit libvlc VideoLAN
• 64 bit demo require 64 bit libvlc VideoLAN

Note for Windows XP users:

libwasapi_plugin.dll

require kernel function InitOnceExecuteOnce,

which is availiable on Win Vista and never systems.
 
2020-07-05

Download
(5 850)
3.0.7

change licence to MIT

  try prepare to support v4:

    vlc-4.0.0-20200403-0251 build remove functions:

      libvlc_event_type_name

      libvlc_media_player_stop
      libvlc_media_player_set_agl
      libvlc_media_player_get_agl
      libvlc_media_player_will_play
      libvlc_media_player_get_fps

      libvlc_track_description_release

      libvlc_video_set_subtitle_file
      libvlc_video_get_title_description
      libvlc_video_get_chapter_description
      libvlc_video_get_crop_geometry
      libvlc_video_set_crop_geometry

      libvlc_toggle_teletext

      libvlc_audio_output_get_device_type
      libvlc_audio_output_set_device_type

      libvlc_media_list_player_stop
      libvlc_media_library_new

      libvlc_media_library_release
      libvlc_media_library_retain
      libvlc_media_library_load
      libvlc_media_library_media_list

      libvlc_media_discoverer_new_from_name
      libvlc_media_discoverer_localized_name
      libvlc_media_discoverer_event_manager

      libvlc_vlm_release
      libvlc_vlm_add_broadcast
      libvlc_vlm_add_vod
      libvlc_vlm_del_media
      libvlc_vlm_set_enabled
      libvlc_vlm_set_output
      libvlc_vlm_set_input
      libvlc_vlm_add_input
      libvlc_vlm_set_loop
      libvlc_vlm_set_mux
      libvlc_vlm_change_media
      libvlc_vlm_play_media
      libvlc_vlm_stop_media
      libvlc_vlm_pause_media
      libvlc_vlm_seek_media
      libvlc_vlm_show_media

      libvlc_vlm_get_media_instance_position
      libvlc_vlm_get_media_instance_time
      libvlc_vlm_get_media_instance_length
      libvlc_vlm_get_media_instance_rate

      libvlc_video_get_marquee_string
      libvlc_vlm_get_event_manager
      libvlc_media_get_tracks_info

  merge changes reported by Javier Cuevas Domingo

    modified event handler:
    
      FOnMediaPlayerBuffering : TNotifyMediaBuffering;
      
    modified Video Hue get and set:
    
      procedure SetVideoAdjustHue(value : Integer);
      function GetVideoAdjustHue() : Integer;

    add support for drag and drop:

      procedure InternalOnDragDrop
      procedure InternalOnDragOver

Binary demos for windows separated from source code:

• Delphi XE10 (2 demos VCL + 2 demos FMX)
• Delphi XE7 (2 demos VCL + 2 demos FMX)
• Delphi 2007 (10 demos VCL)
• Delphi 7 (1 demo VCL)
• Delphi 4 (2 demos VCL)
• Lazarus 2.0.8 - FreePascal 3.0.4 (4 demo LCL)

Please note:

• 32 bit demo require 32 bit libvlc VideoLAN
• 64 bit demo require 64 bit libvlc VideoLAN

Note for Windows XP users:

libwasapi_plugin.dll

require kernel function InitOnceExecuteOnce,

which is availiable on Win Vista and never systems.
 
2019-03-24

Download
(4 281)
3.0.6

Modify demo sources: avoid to fire OnChange event during updating of the InfoTrackBar position

  reported by Gvinci-Blowfish

    modified procedures:
    
      PasLibVlcPlayer1MediaPlayerLengthChanged(Sender: TObject; time: Int64);
      PasLibVlcPlayer1MediaPlayerTimeChanged(Sender: TObject; time: Int64);
      PlayerMediaPlayerLengthChanged(Sender: TObject; time: Int64);
      PlayerMediaPlayerTimeChanged(Sender: TObject; time: Int64);

Modify Stop procedure

  inspired by Rob Renaud

    modified procedure:

      procedure Stop(const stopTimeOut : Cardinal = 1000);

Binary demos for windows separated from source code:

• Delphi XE10 (2 demos VCL + 2 demos FMX)
• Delphi XE7 (2 demos VCL + 2 demos FMX)
• Delphi 2007 (10 demos VCL)
• Delphi 7 (1 demo VCL)
• Delphi 4 (2 demos VCL)
• Lazarus 2.0.0 - FreePascal 3.0.4 (4 demo LCL)

Please note:

• 32 bit demo require 32 bit libvlc VideoLAN
• 64 bit demo require 64 bit libvlc VideoLAN

Note for Windows XP users:

libwasapi_plugin.dll

require kernel function InitOnceExecuteOnce,

which is availiable on Win Vista and never systems.
 
2019-01-08

Download
(1 595)
3.0.5

Fix THandle type for some functions.

Lazarus has several definitions of THandle type (LCLQT5 Linux 64bit):

System.THandle = LongInt;
LCLType.THandle = type PtrUInt;
dynlibs.THandle = PtrInt;

This is no problem when run 32-bit app,
but generate exceptions when run 64-bit app.

Add support for events in FMX Component:

libvlc_MediaPlayerESAdded
libvlc_MediaPlayerESDeleted
libvlc_MediaPlayerESSelected
libvlc_MediaPlayerAudioDevice
libvlc_MediaPlayerChapterChanged
libvlc_RendererDiscovererItemAdded
libvlc_RendererDiscovererItemDeleted

Binary demos for windows separated from source code:

• Delphi XE10 (2 demos VCL + 2 demos FMX)
• Delphi XE7 (2 demos VCL + 2 demos FMX)
• Delphi 2007 (10 demos VCL)
• Delphi 7 (1 demo VCL)
• Delphi 4 (2 demos VCL)
• Lazarus 1.8.4 - FreePascal 3.0.4 (4 demo LCL)

Please note:

• 32 bit demo require 32 bit libvlc VideoLAN
• 64 bit demo require 64 bit libvlc VideoLAN

Note for Windows XP users:

libwasapi_plugin.dll

require kernel function InitOnceExecuteOnce,

which is availiable on Win Vista and never systems.
 
2018-09-19

Download
(1 658)
3.0.4

Fix Play declaration for compatible with D4

Fix small bugs in FMX component

Binary demos for windows separated from source code:

• Delphi XE10 (2 demos VCL + 2 demos FMX)
• Delphi XE7 (2 demos VCL + 2 demos FMX)
• Delphi 2007 (10 demos VCL)
• Delphi 7 (1 demo VCL)
• Delphi 4 (2 demos VCL)
• Lazarus 1.8.4 - FreePascal 3.0.4 (4 demo LCL)

Please note:

• 32 bit demo require 32 bit libvlc VideoLAN
• 64 bit demo require 64 bit libvlc VideoLAN

Note for Windows XP users:

libwasapi_plugin.dll

require kernel function InitOnceExecuteOnce,

which is availiable on Win Vista and never systems.
 
2018-07-12

Download
(4 460)
3.0.3

Fix resize bug under FPC 1.8.x

  reported by Mukataï Mukatai

    affected procedures:

      procedure WMEraseBkgnd(var msg: ...); message ...;


Fix untyped Dispose bug

  affected procedures:

    procedure libvlc_media_close_cb_stm(mctx : Pointer); cdecl;


Add support for media callbacks

  new procedure:

    procedure Play(stm : TStream, ...); overload;

  • Thanks for Mark Adamson
  
Remove duplicated code

  affected procedures:

    procedure Play (...); overload;
    procedure PlayNormal (...); overload;
    procedure PlayYoutube(...); overload;

Update for compatibility with Fedora


  add new search path /usr/lib64

  function libvlc_media_player_set_evas_object
  is not availiable in VLC release for Fedora

  • Thanks for Jim Lee

Fix read_dec_number bug

  • Thanks for Wortmann Sándor

Extend procedure parameters:

  procedure TPasLibVlcMediaList.Add(mrl : WideString; mediaOptions : array of WideString);

  • Thanks for Wortmann Sándor

Fix PlayYoutube bug

  • Thanks for Ahmet Yeşilçimen
 
2018-05-02

Download
(1 318)
3.0.2

More buffers, better FMX stability

  • Thanks for testing to Νίκος Κόρδας

Binary demos for windows separated from source code:

  • Delphi XE10 (2 demos VCL + 2 demos FMX)
  • Delphi XE7 (2 demos VCL + 2 demos FMX)
  • Delphi 2007 (10 demos VCL)
  • Delphi 7 (2 demos VCL)
  • Delphi 4 (2 demos VCL)
  • Lazarus 1.8.2 - FreePascal 3.0.2 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2018-04-27

Download
(885)
3.0.1

Redesign dataflow for better FMX stability

  • Thanks for testing to Νίκος Κόρδας

Include demo source code:

  • Delphi XE10 (2 demos VCL + 2 demos FMX)
  • Delphi XE7 (2 demos VCL + 2 demos FMX)
  • Delphi 2007 (10 demos VCL)
  • Delphi 7 (2 demos VCL)
  • Delphi 4 (2 demos VCL)
  • Lazarus 1.8.2 - FreePascal 3.0.2 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2018-03-11

Download
(1 383)
3.0.0

Update for compatibility with libvlc 3.0.1

  • Fix video callbacks reported by Νίκος Κόρδας

  • New events:

      libvlc_MediaPlayerESAdded,
      libvlc_MediaPlayerESDeleted,
      libvlc_MediaPlayerESSelected,
      libvlc_MediaPlayerAudioDevice,
      libvlc_MediaPlayerChapterChanged,
      libvlc_RendererDiscovererItemAdded,
      libvlc_RendererDiscovererItemDeleted,

  • New functions:

      libvlc_dialog_set_callbacks
      libvlc_dialog_set_context
      libvlc_dialog_get_context
      libvlc_dialog_post_login
      libvlc_dialog_post_action
      libvlc_dialog_dismiss

      libvlc_renderer_item_hold
      libvlc_renderer_item_release
      libvlc_renderer_item_name
      libvlc_renderer_item_type
      libvlc_renderer_item_icon_uri
      libvlc_renderer_item_flags

      libvlc_renderer_discoverer_new
      libvlc_renderer_discoverer_release
      libvlc_renderer_discoverer_start
      libvlc_renderer_discoverer_stop
      libvlc_renderer_discoverer_event_manager
      libvlc_renderer_discoverer_list_get
      libvlc_renderer_discoverer_list_release

      libvlc_media_new_callbacks(p_inst, open_cb, read_cb, seek_cb, close_cb, opaque);

      libvlc_media_parse_with_options
      libvlc_media_parse_stop
      libvlc_media_get_parsed_status

      libvlc_media_get_codec_description

      libvlc_media_get_type
      libvlc_media_slaves_add
      libvlc_media_slaves_clear
      libvlc_media_slaves_get
      libvlc_media_slaves_release

      libvlc_media_discoverer_new
      libvlc_media_discoverer_start
      libvlc_media_discoverer_stop
      libvlc_media_discoverer_list_get
      libvlc_media_discoverer_list_release

      libvlc_media_list_player_get_media_player
      libvlc_media_list_player_set_pause

      libvlc_media_player_set_renderer
      libvlc_media_player_set_android_context
      libvlc_media_player_set_evas_object
      libvlc_media_player_add_slave

      libvlc_video_new_viewpoint
      libvlc_video_update_viewpoint

      libvlc_media_player_get_full_title_descriptions
      libvlc_title_descriptions_release

      libvlc_media_player_get_full_chapter_descriptions
      libvlc_chapter_descriptions_release

      libvlc_audio_output_device_get

      libvlc_media_player_get_role
      libvlc_media_player_set_role

Include demo source code:

  • Delphi XE10 (2 demos VCL + 2 demos FMX)
  • Delphi XE7 (2 demos VCL + 2 demos FMX)
  • Delphi 2007 (10 demos VCL)
  • Delphi 7 (2 demos VCL)
  • Delphi 4 (2 demos VCL)
  • Lazarus 1.8.0 - FreePascal 3.0.2 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2018-01-08

Download
(1 363)
2.2.9

Add support for new compilers:

  • Delphi 10.2.2 Tokyo
  • Lazarus 1.8.0 (FPC 3.0.4).

Better support for FreeBSD11 + FPC:

  • correct THandle => TLibHandle

Extend parameters:

inspired by "Christian Koch"
required to add ":cdda-track=1" as option to the media

affected procedures:

procedure Play (mrl: WideString; mediaOptions : array of WideString; ...); overload;
procedure PlayNormal (mrl: WideString; mediaOptions : array of WideString; ...); overload;
procedure PlayYoutube(mrl: WideString; mediaOptions : array of WideString; ...); overload;

New functions:

function GetVideoSampleAspectRatio(var sar_num, sar_den : LongWord): Boolean; overload;
function GetVideoSampleAspectRatio() : Single; overload;

Include demo source code:

  • Delphi XE10 (2 demos VCL + 2 demos FMX)
  • Delphi XE7 (2 demos VCL + 2 demos FMX)
  • Delphi 2007 (10 demos VCL)
  • Delphi 7 (2 demos VCL)
  • Delphi 4 (2 demos VCL)
  • Lazarus 1.8.0 - FreePascal 3.0.2 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2017-07-17

Download
(2 019)
2.2.8

Add support for new compilers:

  • Delphi 10.2 Tokyo
  • Lazarus 1.6.4 (FPC 3.0.2).

Include demo source code:

  • Delphi XE10 (2 demos VCL + 2 demos FMX)
  • Delphi XE7 (2 demos VCL + 2 demos FMX)
  • Delphi 2007 (10 demos VCL)
  • Delphi 7 (2 demos VCL)
  • Delphi 4 (2 demos VCL)
  • Lazarus 1.6.4 - FreePascal 3.0.2 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-11-28

Download
(4 259)
2.2.7

Correct media list event handler WillAddItem

  2017.04.11 - reported by "Adolfo Ramirez"

    OnItemAdded => OnWillAddItem

Update Equalizer functions declarations for compile with BC6.

  reported by "Woldemar"

Cleanup PasLibVlcUnit and prepare for use with FMX.

  PasLibVlcFmx - initial release native FMX component (require XE7 or up).

  Usage ilustrated with 2 Delphi XE7 demos:

    FmxDemoPasLibVlc (tested successfully: WinXP, Win7 32bit and 64bit, OSX 10.7.5 32 bit)
    FmxDemoPasLibVlcPlayer (tested successfully: WinXP, Win7 32bit and 64bit)

Add support for adjust video:

  procedure SetVideoAdjustEnable(value : Boolean);
  procedure SetVideoAdjustContrast(value : Single);
  procedure SetVideoAdjustBrightness(value : Single);
  procedure SetVideoAdjustHue(value : Integer);
  procedure SetVideoAdjustSaturation(value : Single);
  procedure SetVideoAdjustGamma(value : Single);

  function GetVideoAdjustEnable() : Boolean;
  function GetVideoAdjustContrast() : Single;
  function GetVideoAdjustBrightness() : Single;
  function GetVideoAdjustHue(): Integer;
  function GetVideoAdjustSaturation() : Single;
  function GetVideoAdjustGamma() : Single;


Include demo source code:

  Delphi 4 (2 demos VCL)
  Delphi 7 (1 demo VCL)
  Delphi 2007 (10 demos VCL)
  Delphi XE7 (2 demos VCL + 2 demos FMX)
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo LCL)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-10-04

Download
(1 098)
2.2.6

Correct declarations for libvlc_log_cb

  reported by: Technosite
  
Add Delphi2007/DemoLog for ilustrate libvlc_log_cb usage.

Update Delphi2007/DemoVideoCallBacks

Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (10 demos)
  Delphi XE7 (2 demos) with simple equalizer usage  
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-08-19

Download
(1 839)
2.2.5

Correct struct declarations for better working with 64-bit

  reported by: Chris

Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (9 demos)
  Delphi XE7 (2 demos) with simple equalizer usage
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-05-15

Download
(3 574)
2.2.4

Correct function definitions:

  reported by: Reiner Sombrowsky

Updated functions:

  libvlc_video_unlock_cb = procedure(...); cdecl;
  libvlc_video_display_cb = procedure(...); cdecl;
  libvlc_video_format_cb = function(...): LongWord; cdecl;

Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (9 demos)
  Delphi XE7 (2 demos) with simple equalizer usage
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-05-08

Download
(2 471)
2.2.3

Update for allow change audio output

Changed functions:

  GetAudioOutputList
  GetAudioOutputDeviceList
  GetAudioOutputDeviceEnum
  SetAudioOutput
  SetAudioOutputDevice
  SetAudioOutputDevice
  Play
  PlayNormal
  PlayYoutube

New properties:

  LastAudioOutput
  LastAudioOutputDeviceId

Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (9 demos)
  Delphi XE7 (2 demos) with simple equalizer usage
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2016-02-12

Download
(4 820)
2.2.2

Update for better compatibility with libvlc 2.2.2

New events:

  libvlc_MediaPlayerCorked
  libvlc_MediaPlayerUncorked,
  libvlc_MediaPlayerMuted,
  libvlc_MediaPlayerUnmuted,
  libvlc_MediaPlayerAudioVolume


Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (9 demos)
  Delphi XE7 (2 demos) with simple equalizer usage
  Lazarus 1.4.4 - FreePascal 2.6.4 (4 demo)

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
  
Note for Windows XP users:

  libwasapi_plugin.dll

  require kernel function InitOnceExecuteOnce,
  
  which is availiable on Win Vista and never systems.
 
2015-04-04

Download
(4 810)
2.2.0

Now before load libvlc library PasLibVlc
try detect library architecture (32 or 64 bit)

Update for better compatibility with libvlc 2.2.0

  EqualizerGetPresetList(): TStringList;
  EqualizerGetBandCount(): Word;
  EqualizerGetBandFrequency(bandIndex : Word): Single;

  EqualizerCreate(APreset : Word = $FFFF) : TPasLibVlcEqualizer;
  EqualizerApply(AEqualizer : TPasLibVlcEqualizer);
  EqualizerSetPreset(APreset : Word = $FFFF);
  
  Include Delphi XE7 demo with simple equalizer usage
  (compiled binary 32 and 64 bit)
  
  fix function SetAudioMute
  reported by "Moisés Ribeiro"
  
New API:

  libvlc_media_player_program_scrambled
  libvlc_audio_output_device_enum

  libvlc_audio_equalizer_get_preset_count
  libvlc_audio_equalizer_get_preset_name
  libvlc_audio_equalizer_get_band_count
  libvlc_audio_equalizer_get_band_frequency
  libvlc_audio_equalizer_new
  libvlc_audio_equalizer_new_from_preset
  libvlc_audio_equalizer_release
  libvlc_audio_equalizer_set_preamp
  libvlc_audio_equalizer_get_preamp
  libvlc_audio_equalizer_set_amp_at_index
  libvlc_audio_equalizer_get_amp_at_index
  libvlc_media_player_set_equalizer

New events:

   libvlc_MediaPlayerVout
   libvlc_MediaPlayerScrambledChanged

New meta data types:

   libvlc_meta_TrackTotal
   libvlc_meta_Director
   libvlc_meta_Season
   libvlc_meta_Episode
   libvlc_meta_ShowName
   libvlc_meta_Actors

Include demo source code:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (7 demos)
  Delphi XE7 (2 demos) with simple equalizer usage
  Lazarus 1.2.6 - FreePascal 2.6.4 (4 demo)  

Please note:

  • 32 bit demo require 32 bit libvlc VideoLAN
  • 64 bit demo require 64 bit libvlc VideoLAN
 
2015-02-01

Download
(4 403)
2.1.5

New functions: (2015-02-01)

    GetAudioOutputList(): TStringList;
    GetAudioOutputDeviceList(aOut : WideString): TStringList;

    inspired by: Tom Widerøe

    GetVideoDimension(var width, height: LongWord): Boolean;


New property: (2015-01-06)

    MouseEventsHandler

    inspired by: Beat Schlösser


New functions: (2014-07-12)

    GetVideoChapterCountByTitleId(const title_id : Integer): Integer;

    GetVideoSubtitleList(): TStringList;
    GetVideoSubtitleCount(): Integer;
    GetVideoSubtitleCountByTitleId(const title_id : Integer): Integer;
    GetVideoSubtitleId(): Integer;
    SetVideoSubtitleById(const subtitle_id : Integer);
    GetVideoSubtitleNo(): Integer;
    SetVideoSubtitleByNo(subtitle_no : Integer);
    GetVideoSubtitleDescriptionById(const subtitle_id : Integer): WideString;
    GetVideoSubtitleDescriptionByNo(subtitle_no : Integer): WideString;
    SetVideoSubtitleFile(filename : WideString);

    GetVideoTitleList() : TStringList;
    GetVideoTitleCount(): Integer;
    GetVideoTitleId():Integer;
    SetVideoTitleById(const title_id:Integer);
    GetVideoTitleNo(): Integer;
    SetVideoTitleByNo(title_no : Integer);
    GetVideoTitleDescriptionById(const track_id : Integer): WideString;
    GetVideoTitleDescriptionByNo(title_no : Integer): WideString;
    
    inspired by: Sebastián Mayorá


Rename functions:
    
    GetAspectRatio() to GetVideoAspectRatio()
    SetAspectRatio() to SetVideoAspectRatio()
    
    GetChannel() to GetAudioChannel()
    SetChannel() to SetAudioChannel()


Include demo source code for:

  Delphi 4 (2 demo)
  Delphi 7 (1 demo)
  Delphi 2007 (7 demo)
  Delphi XE2 (1 demo)
  Lazarus - FreePascal (4 demo)
 
2014-06-28

Download
(2 546)
2.1.4

New functions:

    MarqueeShowText();    
    MarqueeHide();

    MarqueeSetText();
    MarqueeSetPosition();    
    MarqueeSetColor();
    MarqueeSetFontSize();
    MarqueeSetOpacity();
    MarqueeSetTimeOut();
    MarqueeSetRefresh();
    MarqueeSetEnable();

    LogoShowFile();
    LogoShowFiles();
    LogoHide();

    LogoSetFile();
    LogoSetFiles();
    LogoSetPosition();    
    LogoSetOpacity();
    LogoSetDelay();
    LogoSetRepeat();
    LogoSetEnable();
    
    GetAudioTrackList();
    GetAudioTrackId();
    SetAudioTrackById();
    SetAudioTrackByNo();
    GetAudioTrackDescriptionByNo();
    GetAudioTrackDescriptionById();

    inspired by Chris

Remove functions:

    SetAudioTrack();
    GetAudioTrackDescription();

New deinterlace filters:

    dmPHOSPHOR, dmIVTC

    inspired by Chris

Improve play normal and youtube streams

    Play();
    
Better support for Delphi XE2 and up

    Fix compilation warnings

Include demo source code for:

  Delphi 4 (2 demo)
  Delphi 7 (1 demo)
  Delphi 2007 (6 demo)
  Delphi XE2 (1 demo)
  Lazarus - FreePascal (4 demo)
 
2014-04-26

Download
(3 134)
2.1.3

New function

  libvlc_reset_function_pointers(force : Boolean = FALSE)

  inspired by: Marcio Wesley Borges
    
Fix get address of function libvlc_vlm_set_enabled
    
  reported by: Marcio Wesley Borges
  
Include demo source code for:

  Delphi 4 (2 demo)
  Delphi 7 (1 demo)
  Delphi 2007 (6 demo)
  Delphi XE2 (1 demo)
  Lazarus - FreePascal (4 demo)
 
2013-12-13

Download
(2 365)
2.1.2

Repair bug in function WmMediaPlayerPositionChanged (32bit)

  Reported by John Brookman

New functions:

  IsPause()
  GetMediaMrl();
  GetStateName();

  Written by John Brookman
  
Clean code in event handlers

Rewrite OnMediaChanged event handler
Now report current media MRL

  Requested by: Eduan Slabbert
  
Remove dead code, and unused variales

Better support for Delphi XE2 and up

  correct field align in event_t structure
  rewrite event handling functions
  
Add 64 bit demo compiled with Delphi XE2

  this demo request 64 bit VideoLAN
      
Check compatibility with version 2.1.2

Repair bug

  function TPasLibVlcPlayer.GetVideoHeight(): LongInt;
  return wideo width not height, now return video height
    
  Reported by: Dr Christoph Camphausen
      
New properties

  AudioOutput
  VideoOutput

Include demo source code for:

  Delphi 4 (2 demo)
  Delphi 7 (1 demo)
  Delphi 2007 (6 demo)
  Delphi XE2 (1 demo)
  Lazarus - FreePascal (4 demo)
 
2013-10-20

Download
(1 956)
2.1.0

New functions from libvlc 2.1.0

  libvlc_media_player_set_video_title_display
  libvlc_audio_output_device_list_get
  libvlc_audio_output_device_list_release
  libvlc_media_tracks_get
  libvlc_media_tracks_release
  libvlc_set_app_id
  libvlc_log_get_context
  libvlc_log_get_object
  libvlc_log_set
  libvlc_log_unset
  libvlc_log_set_file

Verify compatibility with libvlc 2.1.0:

  FUNCTION libvlc_audio_set_volume NOT WORK
  EXCEPTION Invalid floating point operation.

  Read more on VideoLAN forum:  
  https://forum.videolan.org/viewtopic.php?f=32&t=114264

Support Delphi 4 - conditional code compilation

Include demo source code for:

  Delphi 4 (2 demo)
  Delphi 2007 (6 demo)  
  Lazarus - FreePascal (4 demo)
 
2013-10-12

Download
(1 873)
2.0.8

Support for FPC LCL QT4 and FPC LCL GTK2 (LINUX, WIN)
Test: Kubuntu + VLC 2.0.8 and Windows XP SP3 + VLC 2.0.8

Unified function for display player in window

  libvlc_media_player_set_display_window

FPC For Windows : LCL GTK2+, LCL QT4, WIN32
FPC For Linux : LCL GTK2+, LCL QT4

Improve function for search libvlc.so

Verify compatibility with libvlc 2.0.8

Include demo source code for:

  Delphi 2007 (6 demo)  
  Lazarus - FreePascal (4 demo)
 
2013-07-07

Download
(4 261)
2.0.5

Fix incorrect position of MouseEventWinCtrl if Player
placed inside TPanel control aligned to right side of form.

Track bars in demo programs to use functions:

  GetVideoPosInMs()
  GetVideoLenInMs()

Rewrite events handling

New properties:

  OsdShow default true
  SpuShow default true
  SnapshotPrv default false
  
Support Delphi 7 - conditional code compilation

Demos:

  video callbacks demo

  toggle full screen and back

Include demo source code for:

  Delphi 2007 (7 demo)
  Lazarus - FreePascal (4 demo)
 
2012-10-28

Download
(2 279)
2.0.4

Add compiler options {$A4,Z4}

New property:

  StartOptions

Each player component use own instance of libvlc.

Include demo source code for:

  Delphi 2007 (4 demo)  
  Lazarus - FreePascal (4 demo)
 
2012-07-29

Download
(2 338)
2.0.3

Add critical section to improve calls from event handlers
now property TPasLibVlcPlayer.UseEvents default FALSE
fix bug in TPasLibVlcPlayer.function EventsEnable:
if (p_mi = NIL) then -> if (p_mi <> NIL) then
add function TPasLibVlcPlayer.Stop
add try..finally in TPasLibVlcPlayer.Destroy

Include demo source code for:

  Delphi 2007 (4 demo)  
  Lazarus - FreePascal (2 demo)
 
2011-09-04

Download
(4 198)
1.1.11

Linux OS support:

  conditional code compilation
  
Load libvlc.dll from custom location:

  libvlc_dynamic_dll_init_with_path(vlc_install_path: string);
 
2011-04-24

Download
(2 276)
1.1.9

Support Lazarus

New component:

  TPasLibVlcMediaList

New functions:

  SetPlayRate() - change current play rate
  GetPlayRate() - return current play rate
  
Include demo source code for:

  Delphi 2007 (3 demo)
  Lazarus - FreePascal (2 demo)
 
2011-02-06

Download
(1 751)
1.1.7

Simple help for play YouTube video links

New functions:

  GetVideoLenStr()
  GetVideoPosStr()
  
Include demo source code for:

  Delphi 2007 (2 demo)
 
2011-01-09

Download
(1 986)
1.1.5

Support for version 1.1.5

Support for unicode file names

Correct creation of VCL at runtime, error: control '' has no parent window

New properties:

  PopupMenu
  ShowTitle
  UseEvents
  
Include demo source code for:

  Delphi 2007 (2 demo)
 
2010-11-28

Download
(1 868)
1.1.4

Support for version 1.1.4

functiuons to set/get Audio Volume Level

Include demo source code for:

  Delphi 2007 (2 demo)
  Lazarus - FreePascal (4 demo)
 
2010-07-25

Download
(1 573)
1.1.1

Change:

  PChar to PAnsiChar

Include demo source code for:

  Delphi 2007 (2 demo)
 

Download PasLibVlc source code

Version Published Downloads Size 88 172
3.0.8 2024-01-15 309 775.42 KB Download
3.0.7 2020-07-05 5 850 701.65 KB Download
3.0.6 2019-03-24 4 281 684.36 KB Download
3.0.5 2019-01-08 1 595 683.93 KB Download
3.0.4 2018-09-19 1 658 737.82 KB Download
3.0.3 2018-07-12 4 460 681.25 KB Download
3.0.2 2018-05-02 1 318 696.16 KB Download
3.0.1 2018-04-27 885 696.01 KB Download
3.0.0 2018-03-11 1 383 679.96 KB Download
2.2.9 2018-01-08 1 363 653.52 KB Download
2.2.8 2017-07-17 2 019 492.54 KB Download
2.2.7 2016-11-28 4 259 492.45 KB Download
2.2.6 2016-10-04 1 098 361.09 KB Download
2.2.5 2016-08-19 1 839 369.51 KB Download
2.2.4 2016-05-15 3 574 367.62 KB Download
2.2.3 2016-05-08 2 471 312.50 KB Download
2.2.2 2016-02-12 4 820 302.89 KB Download
2.2.0 2015-04-04 4 810 288.83 KB Download
2.1.5 2015-02-01 4 403 312.17 KB Download
2.1.4 2014-06-28 2 546 298.17 KB Download
2.1.3 2014-04-26 3 134 181.32 KB Download
2.1.2 2013-12-13 2 365 180.07 KB Download
2.1.0 2013-10-20 1 956 141.07 KB Download
2.0.8 2013-10-12 1 873 126.86 KB Download
2.0.5 2013-07-07 4 261 114.60 KB Download
2.0.4 2012-10-28 2 279 82.52 KB Download
2.0.3 2012-07-29 2 338 78.33 KB Download
1.1.11 2011-09-04 4 198 74.14 KB Download
1.1.9 2011-04-24 2 276 71.02 KB Download
1.1.7 2011-02-06 1 751 44.98 KB Download
1.1.5 2011-01-09 1 986 44.28 KB Download
1.1.4 2010-11-28 1 868 44.82 KB Download
1.1.1 2010-07-25 1 573 40.88 KB Download
1.1.0 2010-06-26 1 373 84.44 KB Download