source_tags


Description:

[ CCode ( array_length = false , array_null_terminated = true ) ]
[ NoAccessorMethod ]
[ Version ( since = "0.2.10" ) ]
public string[] source_tags { owned get; set construct; }

A string array of tags relevant this source.

The tags are arbitrary, and applications should just pass over the tags it does not understand. Applications would usually use this to either group sources together, or hide certain sources: a radio application would filter for grl_media_type_audio in GrlSource:supported_media as well as "radio" being listed in the tags.

To avoid irrelevant content being listed in applications, sources such as generic video sites should not be tagged as "cinema" or "tv" as they contain a lot of content that's not either of those.

This is a list of commonly used values:

  • "cinema", or "tv" The content served is from cinema or TV sources. For example, a source for movie trailers would select the former, a source for streaming live TV would select the latter.
  • "radio" The content served is from streaming radios.
  • "music" The content served is music, for example, music stores such as Jamendo or Magnatune.
  • "country:country-code" The content is mostly relevant to users from a particular country, such as a national broadcaster. For example, BBC content would be tagged as "country:uk". Country codes should be an ISO-639-1 or ISO-639-2 code.
  • "protocol:protocol-name" The content browsing or searching uses a particular protocol, such as DLNA/UPnP or DMAP/DAAP. This makes it easier to whitelist or blacklist sources rather than matching the implementation specific source ID. Examples are "protocol:dlna" and "protocol:dmap".
  • "localhost", or "localuser" The content is served from the machine the application is running on, or by an application the user is running. Applications might choose to avoid showing the user's own data in their interfaces, or integrate it in the user's local collection.

    "net:local", or "net:internet" The source requires a connection to the local network, or a connection to the Internet. Sources with those tags will be automatically hidden from the application's reach when such networks aren't available, or we're not connected to a network.

    "net:plaintext" The source makes requests over plain text, non-encrypted, network channels, such as using HTTP to do searches or lookups. Applications would usually disable those by default, so that privacy is respected by default, and no data is leaked unintentionally.