NAME

VideoLAN::LibVLC::Media - Playable media stream

VERSION

version 0.05

DESCRIPTION

This object wraps libvlc_media_t, which is an open stream of playable media. It can be created from a file descriptor, path, or URL ("location"). Specify one of those options to the constructor, and also a library instance in the "libvlc" attribute.

A quick and easy way to create media objects is with "new_media" in VideoLAN::LibVLC, which auto-detects the type of thing you are trying to open.

ATTRIBUTES

path

File name of media. One of 3 possible constructor parameters

location

URI of media. Does not need to be a URI object. One of 3 possible constructor parameters.

fd

File descriptor of media file. Must be a "real" file handle with a defined fileno.

metadata

Hashref of metadata tags extracted from the media file. These are not available (undef) until after the media has been parsed, which is a blocking operation that depends on the decoder thread. See "parse".

Some tags are only supported by newer versions of libvlc. The current possible list is:

  Title
  Artist
  Genre
  Copyright
  Album
  TrackNumber
  Description
  Rating
  Date
  Setting
  URL
  Language
  NowPlaying
  Publisher
  EncodedBy
  ArtworkURL
  TrackID
  TrackTotal
  Director
  Season
  Episode
  ShowName
  Actors
  AlbumArtist
  DiscNumber
  DiscTotal

METHODS

new

  my $media= VideoLAN::LibVLC::Media->new(
    libvlc => $vlc,
    location => $url,      # 
    path     => $filename, # specify only one
    fd       => $handle,   # 
  );

parse

Parse the media stream

AUTHOR

Michael Conrad <mike@nrdvana.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2019 by Michael Conrad.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.