[vlc-devel] playlist media attributes via http interface?

Mark Hassman mark at hassman.org
Mon Aug 6 01:45:37 CEST 2012


Hi,

I'm interested in resolving: http://trac.videolan.org/vlc/ticket/5584 -
exposing additional playlist media attributes via http interface.


Consulting /vlc/share/lua/README.txt, a playlist object has a number of
properties:

"playlist.add( ... ): Add a bunch of items to the playlist.
  The playlist is a table of playlist objects.
  A playlist object has the following members:
      .path: the item's full path / URL
      .name: the item's name in playlist (OPTIONAL)
      .title: the item's Title (OPTIONAL, meta data)
      .artist: the item's Artist (OPTIONAL, meta data)
      .genre: the item's Genre (OPTIONAL, meta data)
      .copyright: the item's Copyright (OPTIONAL, meta data)
      .album: the item's Album (OPTIONAL, meta data)
      .tracknum: the item's Tracknum (OPTIONAL, meta data)
      .description: the item's Description (OPTIONAL, meta data)
      .rating: the item's Rating (OPTIONAL, meta data)
      .date: the item's Date (OPTIONAL, meta data)
      .setting: the item's Setting (OPTIONAL, meta data)
      .url: the item's URL (OPTIONAL, meta data)
      .language: the item's Language (OPTIONAL, meta data)
      .nowplaying: the item's NowPlaying (OPTIONAL, meta data)
      .publisher: the item's Publisher (OPTIONAL, meta data)
      .encodedby: the item's EncodedBy (OPTIONAL, meta data)
      .arturl: the item's ArtURL (OPTIONAL, meta data)
      .trackid: the item's TrackID (OPTIONAL, meta data)
      .options: a list of VLC options (OPTIONAL)
                example: .options = { "fullscreen" }
      .duration: stream duration in seconds (OPTIONAL)
      .meta: custom meta data (OPTIONAL, meta data)
             A .meta field is a table of custom meta key value pairs.
             example: .meta = { ["GVP docid"] = "-5784010886294950089",
["GVP version] = "1.1", Hello = "World!" }"

However, playlist.get() only returns a subset of those properties:
  "Each playlist item returned will have the following members:
      .item: The input item.
      .id: The item's id.
      .flags: a table with the following members if the corresponding flag
is
              set:
          .save
          .skip
          .disabled
          .ro
          .remove
          .expanded
      .name:
      .path:
      .duration: (-1 if unknown)
      .nb_played:"

It looks like an update to /share/lua/intf/modules/httprequests.lua might
expose the additional attributes which I can then access with lua scripts.
However, this is a compiled file.. the thought of creating a ubuntu dev
environment for testing this theory isn't all that appealing - especially as
i'm not a c coder.

Is there anyone out there who can a) validate my assumption on what needs to
be updated; and b) commit an update to include the missing properties? I can
then update the http interface.

Thoughts?
Thnx!


-Mark




More information about the vlc-devel mailing list