ClutterGstPlayer

ClutterGstPlayer — An interface for controlling playback of media data

Functions

Properties

Signals

Types and Values

Object Hierarchy

    GInterface
    ╰── ClutterGstPlayer

Prerequisites

ClutterGstPlayer requires ClutterMedia and GObject.

Known Implementations

ClutterGstPlayer is implemented by ClutterGstVideoTexture.

Description

ClutterGstPlayer is an interface for controlling playback of media sources. Contrary to most interfaces, you don't need to implement ClutterGstPlayer. It already provides an implementation/logic leaving you only tweak a few properties to get the desired behavior.

ClutterGstPlayer extends and implements ClutterMedia to create enhanced player.

ClutterMedia is available since Clutter 0.2

Functions

clutter_gst_player_class_init ()

void
clutter_gst_player_class_init (GObjectClass *object_class);

Adds the ClutterGstPlayer properties to a class and surchages the set/get_property of GObjectClass. You should call this function at the end of the class_init method of the class implementing ClutterGstPlayer.

Parameters

object_class

a GObjectClass

 

Since: 1.4


clutter_gst_player_init ()

gboolean
clutter_gst_player_init (ClutterGstPlayer *player);

Initialize a ClutterGstPlayer instance. You should call this function at the beginning of the init method of the class implementing ClutterGstPlayer.

When you're finished with the ClutterGstPlayer mixin features (usually in the dispose or finalize vfuncs), call clutter_gst_player_deinit() to desallocate the resources created by clutter_gst_player_init().

Parameters

player

a ClutterGstPlayer

 

Returns

TRUE if the initialization was successfull, FALSE otherwise.

Since: 1.4


clutter_gst_player_deinit ()

void
clutter_gst_player_deinit (ClutterGstPlayer *player);

Frees the resources created by clutter_gst_player_init(). After clutter_gst_player_deinit() has been called, no other player method can be called on the instance.

Parameters

player

a ClutterGstPlayer

 

Since: 1.4


clutter_gst_player_get_pipeline ()

GstElement *
clutter_gst_player_get_pipeline (ClutterGstPlayer *player);

Retrieves the GstPipeline used by the player , for direct use with GStreamer API.

Parameters

player

a ClutterGstPlayer

 

Returns

the GstPipeline element used by the player.

[transfer none]

Since: 1.4


clutter_gst_player_get_idle ()

gboolean
clutter_gst_player_get_idle (ClutterGstPlayer *player);

Get the idle state of the pipeline.

Parameters

player

a ClutterGstPlayer

 

Returns

TRUE if the pipline is in idle mode, FALSE otherwise.

Since: 1.4


clutter_gst_player_get_user_agent ()

gchar *
clutter_gst_player_get_user_agent (ClutterGstPlayer *player);

Retrieves the user agent used when streaming.

Parameters

player

a ClutterGstPlayer

 

Returns

the user agent used. The returned string has to be freed with g_free()

Since: 1.4


clutter_gst_player_set_user_agent ()

void
clutter_gst_player_set_user_agent (ClutterGstPlayer *player,
                                   const gchar *user_agent);

Sets the user agent to use when streaming.

When streaming content, you might want to set a custom user agent, eg. to promote your software, make it appear in statistics or because the server requires a special user agent you want to impersonate.

Parameters

player

a ClutterGstPlayer

 

user_agent

the user agent

 

Since: 1.4


clutter_gst_player_set_seek_flags ()

void
clutter_gst_player_set_seek_flags (ClutterGstPlayer *player,
                                   ClutterGstSeekFlags flags);

Seeking can be done with several trade-offs. Clutter-gst defaults to CLUTTER_GST_SEEK_FLAG_NONE.

Parameters

player

a ClutterGstPlayer

 

flags

a combination of ClutterGstSeekFlags

 

Since: 1.4


clutter_gst_player_get_seek_flags ()

ClutterGstSeekFlags
clutter_gst_player_get_seek_flags (ClutterGstPlayer *player);

Get the current value of the seek-flags property.

Parameters

player

a ClutterGstPlayer

 

Returns

a combination of ClutterGstSeekFlags

Since: 1.4


clutter_gst_player_get_buffering_mode ()

ClutterGstBufferingMode
clutter_gst_player_get_buffering_mode (ClutterGstPlayer *player);

Parameters

player

a ClutterGstPlayer

 

Since: 1.4


clutter_gst_player_set_buffering_mode ()

void
clutter_gst_player_set_buffering_mode (ClutterGstPlayer *player,
                                       ClutterGstBufferingMode mode);

Parameters

Since: 1.4


clutter_gst_player_get_audio_streams ()

GList *
clutter_gst_player_get_audio_streams (ClutterGstPlayer *player);

Get the list of audio streams of the current media.

Parameters

player

a ClutterGstPlayer

 

Returns

a list of strings describing the available audio streams.

[transfer none][element-type utf8]

Since: 1.4


clutter_gst_player_get_audio_stream ()

gint
clutter_gst_player_get_audio_stream (ClutterGstPlayer *player);

Get the current audio stream. The number returned in the index of the audio stream playing in the list returned by clutter_gst_player_get_audio_streams().

Parameters

player

a ClutterGstPlayer

 

Returns

the index of the current audio stream, -1 if the media has no audio stream

Since: 1.4


clutter_gst_player_set_audio_stream ()

void
clutter_gst_player_set_audio_stream (ClutterGstPlayer *player,
                                     gint index_);

Set the audio stream to play. index_ is the index of the stream in the list returned by clutter_gst_player_get_audio_streams().

Parameters

player

a ClutterGstPlayer

 

index_

the index of the audio stream

 

Since: 1.4


clutter_gst_player_get_subtitle_tracks ()

GList *
clutter_gst_player_get_subtitle_tracks
                               (ClutterGstPlayer *player);

Get the list of subtitles tracks of the current media.

Parameters

player

a ClutterGstPlayer

 

Returns

a list of strings describing the available subtitles tracks.

[transfer none][element-type utf8]

Since: 1.4


clutter_gst_player_get_subtitle_track ()

gint
clutter_gst_player_get_subtitle_track (ClutterGstPlayer *player);

Get the current subtitles track. The number returned is the index of the subtiles track in the list returned by clutter_gst_player_get_subtitle_tracks().

Parameters

player

a ClutterGstPlayer

 

Returns

the index of the current subtitlest track, -1 if the media has no subtitles track or if the subtitles have been turned off

Since: 1.4


clutter_gst_player_set_subtitle_track ()

void
clutter_gst_player_set_subtitle_track (ClutterGstPlayer *player,
                                       gint index_);

Set the subtitles track to play. index_ is the index of the stream in the list returned by clutter_gst_player_get_subtitle_tracks().

If index_ is -1, the subtitles are turned off.

Parameters

player

a ClutterGstPlayer

 

index_

the index of the subtitles track

 

Since: 1.4

Types and Values

ClutterGstPlayer

typedef struct _ClutterGstPlayer ClutterGstPlayer;

ClutterGstPlayer is an opaque structure whose members cannot be directly accessed

Since: 1.4


struct ClutterGstPlayerIface

struct ClutterGstPlayerIface {
  GstElement * (* get_pipeline)   (ClutterGstPlayer *player);

  gchar * (* get_user_agent) (ClutterGstPlayer *player);
  void    (* set_user_agent) (ClutterGstPlayer *player,
                              const gchar      *user_agent);

  ClutterGstSeekFlags (* get_seek_flags) (ClutterGstPlayer *player);
  void                (* set_seek_flags) (ClutterGstPlayer    *player,
                                          ClutterGstSeekFlags  flags);

  ClutterGstBufferingMode (* get_buffering_mode) (ClutterGstPlayer *player);
  void                    (* set_buffering_mode) (ClutterGstPlayer        *player,
                                                  ClutterGstBufferingMode  mode);

  GList * (* get_audio_streams) (ClutterGstPlayer *player);
  gint    (* get_audio_stream)  (ClutterGstPlayer *player);
  void    (* set_audio_stream)  (ClutterGstPlayer *player,
                                 gint              index_);

  GList * (* get_subtitle_tracks) (ClutterGstPlayer *player);
  gint    (* get_subtitle_track)  (ClutterGstPlayer *player);
  void    (* set_subtitle_track)  (ClutterGstPlayer *player,
                                   gint              index_);

  gboolean (*get_idle) (ClutterGstPlayer *player);

  gboolean (*get_in_seek) (ClutterGstPlayer *player);

  void (* _iface_reserved16) (void);
  void (* _iface_reserved17) (void);
  void (* _iface_reserved18) (void);
  void (* _iface_reserved19) (void);
  void (* _iface_reserved20) (void);
  void (* _iface_reserved21) (void);
  void (* _iface_reserved22) (void);
  void (* _iface_reserved23) (void);
  void (* _iface_reserved24) (void);
  void (* _iface_reserved25) (void);
  void (* _iface_reserved26) (void);
  void (* _iface_reserved27) (void);
  void (* _iface_reserved28) (void);
  void (* _iface_reserved29) (void);
  void (* _iface_reserved30) (void);
  void (* _iface_reserved31) (void);
  void (* _iface_reserved32) (void);
  void (* _iface_reserved33) (void);
  void (* _iface_reserved34) (void);
  void (* _iface_reserved35) (void);

  /* signals */
  void (* download_buffering)  (ClutterGstPlayer *player,
                                gdouble           start,
                                gdouble           stop);
  void (* _clutter_reserved2)  (void);
  void (* _clutter_reserved3)  (void);
  void (* _clutter_reserved4)  (void);
  void (* _clutter_reserved5)  (void);
  void (* _clutter_reserved6)  (void);
  void (* _clutter_reserved7)  (void);
  void (* _clutter_reserved8)  (void);
  void (* _clutter_reserved9)  (void);
  void (* _clutter_reserved10) (void);
};

Interface vtable for ClutterGstPlayer implementations

Members

get_pipeline ()

   

get_user_agent ()

   

set_user_agent ()

   

get_seek_flags ()

   

set_seek_flags ()

   

get_buffering_mode ()

   

set_buffering_mode ()

   

get_audio_streams ()

   

get_audio_stream ()

   

set_audio_stream ()

   

get_subtitle_tracks ()

   

get_subtitle_track ()

   

set_subtitle_track ()

   

get_idle ()

   

get_in_seek ()

   

_iface_reserved16 ()

   

_iface_reserved17 ()

   

_iface_reserved18 ()

   

_iface_reserved19 ()

   

_iface_reserved20 ()

   

_iface_reserved21 ()

   

_iface_reserved22 ()

   

_iface_reserved23 ()

   

_iface_reserved24 ()

   

_iface_reserved25 ()

   

_iface_reserved26 ()

   

_iface_reserved27 ()

   

_iface_reserved28 ()

   

_iface_reserved29 ()

   

_iface_reserved30 ()

   

_iface_reserved31 ()

   

_iface_reserved32 ()

   

_iface_reserved33 ()

   

_iface_reserved34 ()

   

_iface_reserved35 ()

   

download_buffering ()

handler for the “download-buffering” signal

 

_clutter_reserved2 ()

   

_clutter_reserved3 ()

   

_clutter_reserved4 ()

   

_clutter_reserved5 ()

   

_clutter_reserved6 ()

   

_clutter_reserved7 ()

   

_clutter_reserved8 ()

   

_clutter_reserved9 ()

   

_clutter_reserved10 ()

   

Since: 1.4

Property Details

The “audio-stream” property

  “audio-stream”             gint

Index of the current audio stream.

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Since: 1.4


The “audio-streams” property

  “audio-streams”            gpointer

List of audio streams available on the current media.

Flags: Read

Since: 1.4


The “idle” property

  “idle”                     gboolean

Whether the ClutterGstPlayer is in idle mode.

Flags: Read

Default value: TRUE

Since: 1.4


The “in-seek” property

  “in-seek”                  gboolean

Whether or not the stream is being seeked.

Flags: Read

Default value: FALSE

Since: 1.6


The “seek-flags” property

  “seek-flags”               ClutterGstSeekFlags

Flags to use when seeking.

Flags: Read / Write

Since: 1.4


The “subtitle-track” property

  “subtitle-track”           gint

Index of the current subtitles track.

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “subtitle-tracks” property

  “subtitle-tracks”          gpointer

List of the subtitles tracks of the media.

Flags: Read


The “user-agent” property

  “user-agent”               gchar *

The User Agent used by ClutterGstPlayer with network protocols.

Flags: Read / Write

Default value: NULL

Since: 1.4

Signal Details

The “download-buffering” signal

void
user_function (ClutterGstPlayer *player,
               gdouble           start,
               gdouble           stop,
               gpointer          user_data)

The ::download-buffering signal is emitted each time their an update about the buffering of the current media.

Parameters

player

the ClutterGstPlayer instance that received the signal

 

start

start position of the buffering

 

stop

start position of the buffering

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 1.4