## trm trm — Compute MusicBrainz TRM Id using libmusicbrainz |

## Synopsis

                        GstTRM;

## Properties

      "proxy-address"            gchar*                : Read / Write
      "proxy-port"               guint                 : Read / Write

## Description

GstTRM computes MusicBrainz TRM identifiers for audio streams using libmusicbrainz.

A TRM identifier is something like an 'acoustic fingerprint', the aim is to uniquely identify the same song regardless of which source it comes from or which audio format the stream is in.

The TRM element will collect about 30 seconds of audio and let libmusicbrainz calculate a preliminary audio signature from that. That audio signature will then be sent over the internet to a musicbrainz.org server which will calculate the TRM for that signature.

The TRM element will post a tag message with a GST_TAG_MUSICBRAINZ_TRMID tag on the bus once the TRM has been calculated (and also send a tag event with that information downstream).

### Example pipeline

    1
    gst-launch -m filesrc location=somefile.ogg ! decodebin ! audioconvert ! trm ! fakesink

calculate the TRM and print the tag message with the TRM ID.

## Details

### GstTRM

    typedef struct {
      GstElement element;
    } GstTRM;

GStreamer TRM element. This structure is opaque (private).

## Property Details

### The `"proxy-address"` property

      "proxy-address"            gchar*                : Read / Write

proxy address.

Default value: NULL

### The `"proxy-port"` property

      "proxy-port"               guint                 : Read / Write

proxy port.

Allowed values: [1,65535]

Default value: 8080