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 (2.91 MB)

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

Ubuntu 14.04 LTS
Lazarus 1.2.6 + VideoLAN 2.1.4

Before running any PasLibVlc demo you must remove lua plugin.

This can be done by removal of lua directory from: /usr/lib/vlc/plugins

Compiled binaries can be downloaded here:
DemoPasLibVlc (1.43 MB) and DemoPasLibVlcPlayer (1.50)

Software used to compile demo on Ubuntu 14.04 LTS: Lazarus 1.2.6 + VideoLAN 2.1.4 + PasLibVlc 2.2.0
DemoPasLibVlc in action DemoPasLibVlcPlayer in action

FreeBSD 10.1
Lazarus 1.2.6 + VideoLAN 2.1.5

Compiled binaries can be downloaded here:
DemoPasLibVlc (1.40 MB) and DemoPasLibVlcPlayer (1.46 MB)

Note: FPC, Xorg, Lazarus, VideoLAN are installed from sources:
cd /usr/ports/lang/fpc && make install BATCH=yes
cd /usr/ports/x11/xorg && make install BATCH=yes
cd /usr/ports/editors/lazarus && make install BATCH=yes
cd /usr/ports/multimedia/vlc && make install BATCH=yes
Software used to compile demo on FreeBSD 10.1: Lazarus 1.2.6 + VideoLAN 2.1.5 + PasLibVlc 2.2.0
DemoPasLibVlc in action DemoPasLibVlcPlayer in action

Change Log

2015-04-04

Download
(450)
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 and binary compiled with:

  Delphi 4 (2 demos)
  Delphi 7 (1 demo)
  Delphi 2007 (5 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
(2 895)
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 (5 demo)
  Delphi XE2 (1 demo)
  Lazarus 1.2.6 - FreePascal 2.6.4 (4 demo)
2014-06-28

Download
(1 244)
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
2014-04-26

Download
(2 000)
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
2013-12-13

Download
(1 254)
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
2013-10-20

Download
(878)
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
2013-10-12

Download
(821)
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
2013-07-07

Download
(3 127)
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
2012-10-28

Download
(1 211)
2.0.4

Add compiler options {$A4,Z4}

New property:

  StartOptions

Each player component use own instance of libvlc.
2012-07-29

Download
(1 323)
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
2011-09-04

Download
(3 155)
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
(1 244)
1.1.9

Support Lazarus

New component:

  TPasLibVlcMediaList

New functions:

  SetPlayRate() - change current play rate
  GetPlayRate() - return current play rate
2011-02-06

Download
(719)
1.1.7

Simple help for play YouTube video links

New functions:

  GetVideoLenStr()
  GetVideoPosStr()
2011-01-09

Download
(893)
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
2010-11-28

Download
(840)
1.1.4

Support for version 1.1.4

functiuons to set/get Audio Volume Level
2010-07-25

Download
(536)
1.1.1

Change:

  PChar to PAnsiChar

Files to download

Version Published Downloads Size 23 038
2.2.0 2015-04-04 450 8.62 MB Download
2.1.5 2015-02-01 2 895 312.17 KB Download
2.1.4 2014-06-28 1 244 298.17 KB Download
2.1.3 2014-04-26 2 000 181.32 KB Download
2.1.2 2013-12-13 1 254 180.07 KB Download
2.1.0 2013-10-20 878 141.07 KB Download
2.0.8 2013-10-12 821 126.86 KB Download
2.0.5 2013-07-07 3 127 114.60 KB Download
2.0.4 2012-10-28 1 211 82.52 KB Download
2.0.3 2012-07-29 1 323 78.33 KB Download
1.1.11 2011-09-04 3 155 74.14 KB Download
1.1.9 2011-04-24 1 244 71.02 KB Download
1.1.7 2011-02-06 719 44.98 KB Download
1.1.5 2011-01-09 893 44.28 KB Download
1.1.4 2010-11-28 840 44.82 KB Download
1.1.1 2010-07-25 536 40.88 KB Download
1.1.0 2010-06-26 448 84.44 KB Download

Google+