## mythtvsrc mythtvsrc — Control and receive data as a client over the network via raw socket connections using the MythTV protocol |

## Synopsis

                        GstMythtvSrc;

## Properties

      "location"                 gchar*                : Read / Write
      "mythtv-channel"           gchar*                : Read / Write
      "mythtv-enable-timing-position" gboolean              : Read / Write
      "mythtv-live"              gboolean              : Read / Write
      "mythtv-live-chainid"      gchar*                : Read / Write
      "mythtv-live-id"           gint                  : Read / Write
      "mythtv-version"           gint                  : Read / Write

## Description

MythTVSrc allows to access a remote MythTV backend streaming Video/Audio server, and to render audio and video content through a TCP/IP connection to a specific port on this server, and based on a known MythTV protocol that is based on some message passing, such as REQUEST_BLOCK on a specified number of bytes, to get some chunk of remote file data. You should pass the information aboute the remote MythTV backend server through the "location" property.

### Examples

If you want to get the LiveTV content (set channel, TV tuner, RemoteEncoder, Recorder), use the following URI:

     myth://xxx.xxx.xxx.xxx:6543/livetv?channel=BBC

This URI will configure the Recorder instance (used to change the channel, start the TV multimedia content transmition, etc.), using the IP address (xxx.xxx.xxx.xxx) and port number (6543) of the MythTV backend server, and setting the channel name to "BBC".

To get a already recorded the MythTV NUV file, put the following URI:

     myth://xxx.xxx.xxx.xxx:6543/filename.nuv

Another possible way to use the LiveTV content, and just in the case you want to use the mysql database, put the location URI in the following format:

     myth://mythtv:mythtv@xxx.xxx.xxx.xxx:6543/?mythconverg&channel=9

Where the first field is the protocol (myth), the second and third are user name (mythtv) and password (mythtv), then backend host name and port number, and the last field is the database name (mythconverg).

## Details

### GstMythtvSrc

    typedef struct {
      GstPushSrc      element;

      /*
       * MythFileTransfer
       */
      GMythFile      *file;
      GMythLiveTV    *spawn_livetv;
      GMythBackendInfo *backend_info;
      GstMythtvState  state;
      gchar          *uri_name;
      gchar          *user_agent;
      gchar          *live_chain_id;
      gint            mythtv_version;
      gint64          content_size;
      gint64          prev_content_size;
      gint64          content_size_last;
      guint64         bytes_read;
      gint64          read_offset;
      gboolean        eos;
      gboolean        do_start;
      gboolean        unique_setup;
      gboolean        live_tv;
      gboolean        enable_timing_position;
      gint            live_tv_id;
      gchar          *channel_name;
      guint           mode;

      /*
       * MythTV capabilities
       */
      GstCaps        *mythtv_caps;
      gboolean        update_prog_chain;

      /*
       * stablish a maximum iteration value to the IS_RECORDING message
       */
      guint           wait_to_transfer;
    } GstMythtvSrc;

## Property Details

### The `"location"` property

      "location"                 gchar*                : Read / Write

Default value: ""

### The `"mythtv-channel"` property

      "mythtv-channel"           gchar*                : Read / Write

Change MythTV channel number.

Default value: ""

### The `"mythtv-enable-timing-position"` property

      "mythtv-enable-timing-position" gboolean              : Read / Write

Enable MythTV Live TV content size continuous updating.

Default value: FALSE

### The `"mythtv-live"` property

      "mythtv-live"              gboolean              : Read / Write

Enable MythTV Live TV content streaming.

Default value: FALSE

### The `"mythtv-live-chainid"` property

      "mythtv-live-chainid"      gchar*                : Read / Write

Sets the MythTV chain ID (from TV Chain).

Default value: ""

### The `"mythtv-live-id"` property

      "mythtv-live-id"           gint                  : Read / Write

Change MythTV version.

Allowed values: [0,200]

Default value: 1

### The `"mythtv-version"` property

      "mythtv-version"           gint                  : Read / Write

Change MythTV version.

Allowed values: [26,30]

Default value: 26

## See Also

nuvdemux