Player

Description

Player interface

Functions

gboolean

(*FluPlayerListener) ()

FluPlayer *

flu_player_new ()

FluPlayer *

flu_player_ref ()

void

flu_player_unref ()

void

flu_player_event_listener_add ()

void

flu_player_event_listener_remove ()

gboolean

flu_player_source_add ()

void

flu_player_source_remove ()

GList *

flu_player_sources_get ()

void

flu_player_uri_open ()

void

flu_player_device_open ()

void

flu_player_close ()

void

flu_player_pause ()

void

flu_player_play ()

gboolean

flu_player_media_info_get ()

FluPlayerState

flu_player_state_get ()

gboolean

flu_player_duration_get ()

gboolean

flu_player_position_get ()

gboolean

flu_player_position_set ()

gboolean

flu_player_rate_set ()

gboolean

flu_player_rate_get ()

gboolean

flu_player_step ()

void

flu_player_uop_get ()

gboolean

flu_player_dvd_is_supported ()

gboolean

flu_player_auto_switching_is_supported ()

gboolean

flu_player_auto_switching_get ()

void

flu_player_auto_switching_set ()

gboolean

flu_player_spdif_is_supported ()

gboolean

flu_player_spdif_get ()

void

flu_player_spdif_set ()

gboolean

flu_player_hw_accel_is_supported ()

gboolean

flu_player_hw_accel_get ()

void

flu_player_hw_accel_set ()

gboolean

flu_player_normalize_downmix_get ()

void

flu_player_normalize_downmix_set ()

GList *

flu_player_streams_get ()

GList *

flu_player_video_streams_get ()

void

flu_player_video_active_streams_set ()

GList *

flu_player_video_active_streams_get ()

void

flu_player_video_ignored_streams_set ()

GList *

flu_player_video_ignored_streams_get ()

GList *

flu_player_audio_streams_get ()

void

flu_player_audio_active_streams_set ()

GList *

flu_player_audio_active_streams_get ()

void

flu_player_audio_ignored_streams_set ()

GList *

flu_player_audio_ignored_streams_get ()

GList *

flu_player_text_streams_get ()

void

flu_player_text_active_streams_set ()

GList *

flu_player_text_active_streams_get ()

gint

flu_player_buffering_n_get ()

gboolean

flu_player_buffering_info_get ()

void

flu_player_buffering_policy_set ()

FluBufferingPolicy

flu_player_buffering_policy_get ()

void

flu_player_dot_graph_generate ()

void

flu_player_external_text_set ()

GList *

flu_player_bookmarks_get ()

gboolean

flu_player_bookmark_set ()

FluBookmark *

flu_player_bookmark_get ()

void

flu_player_user_agent_set ()

void

flu_player_user_data_add ()

void

flu_player_user_data_remove ()

gpointer

flu_player_user_data_get ()

const gchar *

flu_player_state_name_get ()

FluPlayerListener ()

gboolean(*FluPlayerListener) (FluPlayer *player, gpointer event, gpointer data);

A player event listener definition

Parameters

player

The player that triggered the event

event

The player event definition. You should cast to the specific player event data

data

The user data provided when registering the listener

flu_player_new ()

FluPlayer * flu_player_new (void);

Creates a new FluPlayer

Returns

The newly created player

flu_player_ref ()

FluPlayer * flu_player_ref (FluPlayer *thiz);

Add a reference to an FluSource

Parameters

thiz

The player to be referenced

Returns

The same object, for programming convenience

flu_player_unref ()

void flu_player_unref (FluPlayer *thiz);

Remove a reference from an FluSource

Parameters

thiz

The player to be unreferenced

flu_player_event_listener_add ()

void flu_player_event_listener_add (FluPlayer *thiz, FluPlayerEvent event, FluPlayerListener listener, gpointer data);

Adds an event listener on a FluPlayer

Parameters

thiz

The FluPlayer to add the event listener to

event

The FluPlayerEvent to listen to

listener

The function to be called whenever an event is received

data

The user provided data to be passed onto the listener

flu_player_event_listener_remove ()

void flu_player_event_listener_remove (FluPlayer *thiz, FluPlayerEvent event, FluPlayerListener listener, gpointer data);

Removes an event listener on a FluPlayer

Parameters

thiz

The FluPlayer to remove the event listener from

event

The FluPlayerEvent to stop listening

listener

The function used when adding a listener

data

The user provided data used when adding a listener

flu_player_source_add ()

gboolean flu_player_source_add (FluPlayer *thiz, FluSource *src);

Adds a FluStream to a FluPlayer

Parameters

thiz

The FluPlayer to add the source to

src

The FluSource to add [transfer-full]

Returns

TRUE if the operation succeed, FALSE otherwise

flu_player_source_remove ()

void flu_player_source_remove (FluPlayer *thiz, FluSource *src);

Removes a FluStream from a FluPlayer

Parameters

thiz

The FluPlayer to remove the source from

src

The FluSource to add [transfer-none]

flu_player_sources_get ()

GList * flu_player_sources_get (FluPlayer *thiz);

Gets the list of available sources note: Use flu_source_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the sources from

Returns

The list of available streams

flu_player_uri_open ()

void flu_player_uri_open (FluPlayer *thiz, const char *uri);

Opens an URI

Parameters

thiz

The FluPlayer that opens the URI

uri

The URI to open

flu_player_device_open ()

void flu_player_device_open (FluPlayer *thiz, FluDevice *device);

Opens a hardware device

Parameters

thiz

The FluPlayer instance

device

The Device to open. Obtain it with flu_device_list_get(), for example.

flu_player_close ()

void flu_player_close (FluPlayer *thiz);

Stops the current URI set. The playback will be stopped and the FLU_PLAYER_EVENT_STATE event will be triggered in case the player was in FLU_PLAYER_STATE_PAUSED or FLU_PLAYER_STATE_PLAYING states with a value of FLU_PLAYER_STATE_STOPPED

Parameters

thiz

The FluPlayer to stop

flu_player_pause ()

void flu_player_pause (FluPlayer *thiz);

Pauses the current playback. The playback will be paused and the FLU_PLAYER_EVENT_STATE event will be triggered in case the player was in FLU_PLAYER_STATE_STOPPED or FLU_PLAYER_STATE_PLAYING states with a value of FLU_PLAYER_STATE_PAUSED

Parameters

thiz

The FluPlayer to pause

flu_player_play ()

void flu_player_play (FluPlayer *thiz);

Plays the URI set by flu_player_uri_open() or flu_player_device_open(). The playback will start and the FLU_PLAYER_EVENT_STATE event will be triggered in case the player was in FLU_PLAYER_STATE_PAUSED with a value of FLU_PLAYER_STATE_PLAYING

Parameters

thiz

The FluPlayer to play

flu_player_media_info_get ()

gboolean flu_player_media_info_get (FluPlayer *thiz, const FluMediaInfo **info);

Gets the media information for the current FluPlayer

Parameters

thiz

The player to get the information from

info

The pointer to store the media information

Returns

TRUE if the operation succeed, FALSE otherwise

flu_player_state_get ()

FluPlayerState flu_player_state_get (FluPlayer *thiz);

Gets the playback state of FluPlayer

Parameters

thiz

The FluPlayer to get the state from

Returns

The playback state

flu_player_duration_get ()

gboolean flu_player_duration_get (FluPlayer *thiz, gint64 *duration);

Gets the duration of the media set

Parameters

thiz

The FluPlayer to get the duration from

duration

The duration specified in nanoseconds

Returns

TRUE if the duration is valid, FALSE otherwise

flu_player_position_get ()

gboolean flu_player_position_get (FluPlayer *thiz, gint64 *position);

Gets the current playback position

Parameters

thiz

The FluPlayer to get the position from

position

The position specified in nanoseconds

Returns

TRUE if the position is valid, FALSE otherwise

flu_player_position_set ()

gboolean flu_player_position_set (FluPlayer *thiz, gint64 position, gboolean accurate);

Sets the current playback position. While seeking the player will emit a state change event to SEEKING until the player gets back to its target state and emits the state change event again. Note that state changes are sequential, you might receive a state change event to PAUSED while calling this function if you called flu_player_pause() before and then SEEKING and then PAUSED again.

Parameters

thiz

The FluPlayer to set the position to

position

The position to set specified in nanoseconds

accurate

Indicates whether the position can be approximated to increase response time or if it should be respected at all costs

Returns

TRUE if the position was set correctly, FALSE otherwise

flu_player_rate_set ()

gboolean flu_player_rate_set (FluPlayer *thiz, gdouble rate);

Sets the playback rate reverse playback and > 1.0 for fast playback

Parameters

thiz

The FluPlayer to set the rate to

rate

The rate to set playback, 1.0 For normal rate. < 0.0 for

Returns

TRUE if the rate was set correctly, FALSE otherwise

flu_player_rate_get ()

gboolean flu_player_rate_get (FluPlayer *thiz, gdouble *rate);

Gets the playback rate

Parameters

thiz

The FluPlayer to get the rate from

rate

The current playback rate

Returns

TRUE if the rate is valid, FALSE otherwise

flu_player_step ()

gboolean flu_player_step (FluPlayer *thiz, guint64 amount);

Step the current playback position, this is, advance only the specified ammount of buffers.

Parameters

thiz

The FluPlayer to step

amount

The amount of buffers to step

Returns

TRUE if the step was done correctly, FALSE otherwise

flu_player_uop_get ()

void flu_player_uop_get (FluPlayer *thiz, FluUserOperation *uop);

Gets the user operations prohibition mask

Parameters

thiz

The FluPlayer to get the user operations from

uop

The user operations prohibition

flu_player_dvd_is_supported ()

gboolean flu_player_dvd_is_supported (FluPlayer *thiz);

Check if DVD playback is supported

Parameters

thiz

The FluPlayer that checks for DVD support

Returns

TRUE if DVD playback is supported, FALSE otherwise

flu_player_auto_switching_is_supported ()

gboolean flu_player_auto_switching_is_supported (FluPlayer *thiz);

Check if the network auto switching is supported

Parameters

thiz

The FluPlayer that checks for network auto switching

Returns

TRUE if network auto switching is supported, FALSE otherwise

flu_player_auto_switching_get ()

gboolean flu_player_auto_switching_get (FluPlayer *thiz);

Gets the state of the network auto switching property

Parameters

thiz

The FluPlayer to get the state of the property from

Returns

TRUE if the property is enabled, FALSE otherwise

flu_player_auto_switching_set ()

void flu_player_auto_switching_set (FluPlayer *thiz, gboolean enable);

Sets the state of the network auto switching property

Parameters

thiz

The FluPlayer to set the state of the property to

enable

TRUE to enable the property, FALSE otherwise

flu_player_spdif_is_supported ()

gboolean flu_player_spdif_is_supported (FluPlayer *thiz);

Check if SPDIF is supported

Parameters

thiz

The FluPlayer that checks for SPDIF

Returns

TRUE if SPDIF is supported, FALSE otherwise

flu_player_spdif_get ()

gboolean flu_player_spdif_get (FluPlayer *thiz);

Gets the state of the SPDIF property

Parameters

thiz

The FluPlayer to get the state of the property from

Returns

TRUE if the property is enabled, FALSE otherwise

flu_player_spdif_set ()

void flu_player_spdif_set (FluPlayer *thiz, gboolean enable);

Sets the state of the SPDIF property

Parameters

thiz

The FluPlayer to set the state of the property to

enable

TRUE to enable the property, FALSE otherwise

flu_player_hw_accel_is_supported ()

gboolean flu_player_hw_accel_is_supported (FluPlayer *thiz);

Check if hardware acceleration is supported

Parameters

thiz

The FluPlayer that checks for hardware acceleration

Returns

TRUE if hardware acceleration is supported, FALSE otherwise

flu_player_hw_accel_get ()

gboolean flu_player_hw_accel_get (FluPlayer *thiz);

Gets the state of the hardware acceleration property

Parameters

thiz

The FluPlayer to get the state of the property from

Returns

TRUE if the property is enabled, FALSE otherwise

flu_player_hw_accel_set ()

void flu_player_hw_accel_set (FluPlayer *thiz, gboolean enable);

Sets the state of the hardware acceleration property

Parameters

thiz

The FluPlayer to set the state of the property to

enable

TRUE to enable the property, FALSE otherwise

flu_player_normalize_downmix_get ()

gboolean flu_player_normalize_downmix_get (FluPlayer *thiz);

Gets the state of the normalize downmix property

Parameters

thiz

The FluPlayer to get the state of the property from

Returns

TRUE if the property is enabled, FALSE otherwise

flu_player_normalize_downmix_set ()

void flu_player_normalize_downmix_set (FluPlayer *thiz, gboolean enable);

Sets the state of the normalize downmix property

Parameters

thiz

The FluPlayer to set the state of the property to

enable

TRUE to enable the property, FALSE otherwise

flu_player_streams_get ()

GList * flu_player_streams_get (FluPlayer *thiz);

Gets the list of available streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of available streams from

Returns

The list of available streams

flu_player_video_streams_get ()

GList * flu_player_video_streams_get (FluPlayer *thiz);

Gets the list of available video streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of available video streams from

Returns

The list of available video streams

flu_player_video_active_streams_set ()

void flu_player_video_active_streams_set (FluPlayer *thiz, GList *streams);

Sets the list of active video streams

Parameters

thiz

The FluPlayer to set the list of active video streams to

streams

The list of active video streams

flu_player_video_active_streams_get ()

GList * flu_player_video_active_streams_get (FluPlayer *thiz);

Gets the list of active video streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of active video streams from

Returns

The list of active video streams

flu_player_video_ignored_streams_set ()

void flu_player_video_ignored_streams_set (FluPlayer *thiz, GList *streams);

Sets the list of ignored video streams

Parameters

thiz

The FluPlayer to set the list of ignored video streams to

streams

The list of ignored video streams

flu_player_video_ignored_streams_get ()

GList * flu_player_video_ignored_streams_get (FluPlayer *thiz);

Gets the list of ignored video streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of ignored video streams from

Returns

The list of ignored video streams

flu_player_audio_streams_get ()

GList * flu_player_audio_streams_get (FluPlayer *thiz);

Gets the list of available audio streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of available audio streams from

Returns

The list of available audio streams

flu_player_audio_active_streams_set ()

void flu_player_audio_active_streams_set (FluPlayer *thiz, GList *streams);

Sets the list of active audio streams

Parameters

thiz

The FluPlayer to set the list of active audio streams to

streams

The list of active audio streams

flu_player_audio_active_streams_get ()

GList * flu_player_audio_active_streams_get (FluPlayer *thiz);

Gets the list of active audio streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of active audio streams from

Returns

The list of active audio streams

flu_player_audio_ignored_streams_set ()

void flu_player_audio_ignored_streams_set (FluPlayer *thiz, GList *streams);

Sets the list of ignored audio streams

Parameters

thiz

The FluPlayer to set the list of ignored audio streams to

streams

The list of ignored audio streams

flu_player_audio_ignored_streams_get ()

GList * flu_player_audio_ignored_streams_get (FluPlayer *thiz);

Gets the list of ignored audio streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of ignored audio streams from

Returns

The list of ignored audio streams

flu_player_text_streams_get ()

GList * flu_player_text_streams_get (FluPlayer *thiz);

Gets the list of available text streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of available text streams from

Returns

The list of available text streams

flu_player_text_active_streams_set ()

void flu_player_text_active_streams_set (FluPlayer *thiz, GList *streams);

Sets the list of active text streams

Parameters

thiz

The FluPlayer to set the list of active text streams to

streams

The list of active text streams

flu_player_text_active_streams_get ()

GList * flu_player_text_active_streams_get (FluPlayer *thiz);

Gets the list of active text streams note: Use flu_stream_list_free() to free the returned list

Parameters

thiz

The FluPlayer to get the list of active text streams from

Returns

The list of active text streams

flu_player_buffering_n_get ()

gint flu_player_buffering_n_get (FluPlayer *thiz);

Gets the number of buffered segments

Parameters

thiz

The FluPlayer to get the number of buffered segments from

Returns

The number of buffered segments

flu_player_buffering_info_get ()

gboolean flu_player_buffering_info_get (FluPlayer *thiz, gint nth, gint64 *start, gint64 *stop);

Gets the information of a buffered segment

Parameters

thiz

The FluPlayer to get the buffered segment info from

nth

The index of the buffered segment in the range of 0 to flu_player_buffering_n_get()

start

The start position of a buffered segment in nanoseconds

stop

The stop position of a buffered segment in nanoseconds

Returns

Whether the operation succeeded or not

flu_player_buffering_policy_set ()

void flu_player_buffering_policy_set (FluPlayer *thiz, FluBufferingPolicy policy, gint size, gint64 time);

Sets the buffering policy on a player

Parameters

thiz

The FluSource to set the buffering policy

policy

The FluBufferingPolicy to set

size

The minimum size in bytes for the buffering queue

time

The minimum time in nanoseconds for the buffering queue

note

In case the policy used is Flu_BUFFERING_POLICY_NONE the size and time parameters are ignored

flu_player_buffering_policy_get ()

FluBufferingPolicy flu_player_buffering_policy_get (FluPlayer *thiz, gint *size, gint64 *time);

Gets the buffering policy from a player

Parameters

thiz

The FluSource to get the buffering policy from

size

The minimum size in bytes of the buffering queue

time

The minimum time in nanoseconds of the buffering queue

Returns

The buffering policy

flu_player_dot_graph_generate ()

void flu_player_dot_graph_generate (FluPlayer *thiz, const gchar *filename);

Outputs a DOT file representing the current pipeline

Parameters

thiz

The FluPlayer

filename

The filename for the DOT file

flu_player_external_text_set ()

void flu_player_external_text_set (FluPlayer *thiz, const gchar *uri);

Sets the external text uri. When the URI is opened an valid a new FluStream of type FLU_STREAM_TYPE_TEXT will be available and behaves exactly the same as any other FluStream. To remove the text stream from the list of streams, call this function with NULL as the uri parameter.

Parameters

thiz

The FluPlayer to set the external text

uri

The URI of the text stream

flu_player_bookmarks_get ()

GList * flu_player_bookmarks_get (FluPlayer *thiz);

Gets the list of available bookmarks

Parameters

thiz

The FluPlayer to get the list of available bookmarks from note Use flu_bookmark_list_free() to free the returned list

Returns

The list of available bookmarks

flu_player_bookmark_set ()

gboolean flu_player_bookmark_set (FluPlayer *thiz, FluBookmark *b);

Sets the current bookmark

Parameters

thiz

The FluPlayer to set the bookmark to

b

The bookmark to add to the player

Returns

TRUE if the bookmark is set correctly, FALSE otherwise

flu_player_bookmark_get ()

FluBookmark * flu_player_bookmark_get (FluPlayer *thiz);

Gets the bookmark closest to the current playback position

Parameters

thiz

The FluPlayer to get the bookmark from note: Use flu_bookmark_unref() to unref the returned bookmark

Returns

The bookmark closest to the current playback position

flu_player_user_agent_set ()

void flu_player_user_agent_set (FluPlayer *thiz, const gchar *user_agent);

Sets the User-Agent HTTP request header filed

Parameters

thiz

The FluPlayer to set the user agent to

flu_player_user_data_add ()

void flu_player_user_data_add (FluPlayer *thiz, const gchar *key, gpointer user_data, GDestroyNotify destroy);

Add user provided data into a player

Parameters

thiz

The FluPlayer to store the user data into

key

The name to identify the data stored

destroy

The callback function to relase user_data when the FluPlayer is destroyed

flu_player_user_data_remove ()

void flu_player_user_data_remove (FluPlayer *thiz, const gchar *key);

Remove user provided data from a player

Parameters

thiz

The FluPlayer to remove the user data from

key

The name to identify the data stored

flu_player_user_data_get ()

gpointer flu_player_user_data_get (FluPlayer *thiz, const gchar *key);

Get the user provided data from a player

Parameters

thiz

The FluPlayer to get the user data from

key

The name to identify the data stored

flu_player_state_name_get ()

const gchar * flu_player_state_name_get (FluPlayerState state);

Gets a readable name of a state

Parameters

state

The FluPlayerState to get the name of

Returns

A statically-allocated string

Types and Values

enum FluPlayerState

Enum values used to describe an FluPlayer state.

FLU_PLAYER_STATE_STOPPED

The player is currently stopped

FLU_PLAYER_STATE_SEEKING

The player is currently seeking

FLU_PLAYER_STATE_PAUSED

The player is currently paused

FLU_PLAYER_STATE_PLAYING

The player is currently playing

enum FluPlayerEvent

Enum values used to describe different type of events that can be raised by an FluPlayer.

FLU_PLAYER_EVENT_STREAMS_AVAILABLE

New information about available streams has been received. Application should query available streams and their respective info again.

FLU_PLAYER_EVENT_STREAM_STATE_CHANGED

The state of a stream has changed.

FLU_PLAYER_EVENT_STREAM_INFO_UPDATED

Information about a stream has been updated.

FLU_PLAYER_EVENT_STREAM_ERROR

An error occured on the stream and thus it can not be played.

FLU_PLAYER_EVENT_REQUEST_TEXTURE

A video stream is requesting an output texture.

FLU_PLAYER_EVENT_BUFFERING

The player is buffering data in order to resume playback and prevent jittering.

FLU_PLAYER_EVENT_ERROR

A fatal error occured on the player.

FLU_PLAYER_EVENT_EOS

The player reached the end of stream.

FLU_PLAYER_EVENT_STATE

The player state has changed.

FLU_PLAYER_EVENT_UOP_CHANGED

User Operation masks have changed.

FLU_PLAYER_EVENT_REQUEST_RENDER_MODE

A stream is requesting it's render mode.

FLU_PLAYER_EVENT_REQUEST_RENDER_DEVICE

A stream has received a buffer to render.

FLU_PLAYER_EVENT_RENDER

A stream needs a device to render to

FLU_PLAYER_EVENT_MEDIA_INFO_UPDATED

Media information about the currently opened resource has been updated.

FLU_PLAYER_EVENT_BOOKMARKS_AVAILABLE

New information about available bookmarks has been received. Application should query available bookmarks and their respective info again.

FLU_PLAYER_EVENT_REQUEST_DRM_AGENT

A DRM capable element is asking the application for a DRM agent.

FLU_PLAYER_EVENT_SEEK_SOURCE

FLU_PLAYER_EVENT_NEED_DATA_SOURCE

enum FluError

Enum values used to describe different type of errors that can be raised by an FluPlayer.

FLU_ERROR_DECODING

Error raised by a decoder or while trying to find a decoder for a specific stream.

FLU_ERROR_DVD_REGION_MISMATCH

DVD disc region does not match with DVD Drive region code.

FLU_ERROR_OPEN_FAILED

Failed opening media URI.

FLU_ERROR_IOCTL_FAILED

Failed when sending an IO command.

enum FluUserOperation

Enum values used to describe different kinds of prohibited user operations. This is mostly used in the case of DVD playback for example when the user is not allowed to skip some scene or for advertising scenarios.

FLU_USER_OPERATION_NONE

No operation is prohibited.

FLU_USER_OPERATION_SET_POSITION

User cannot change playback position.

FLU_USER_OPERATION_SET_RATE

User cannot change playback rate.

FLU_USER_OPERATION_SET_AUDIO_STREAM

User cannot change currently playing audio stream.

FLU_USER_OPERATION_SET_VIDEO_STREAM

User cannot change currently playing video stream.

FLU_USER_OPERATION_SET_TEXT_STREAM

User cannot change currently playing text stream.

FLU_USER_OPERATION_CALL_TITLE_MENU

User cannot go to the title menu.

FLU_USER_OPERATION_CALL_ROOT_MENU

User cannot go to the root menu.

FLU_USER_OPERATION_CALL_TEXT_MENU

User cannot go to the subtitles/text menu.

FLU_USER_OPERATION_CALL_AUDIO_MENU

User cannot go to the audio menu.

FLU_USER_OPERATION_CALL_VIDEO_MENU

User cannot go to the video menu.

FLU_USER_OPERATION_CALL_CHAPTER_MENU

User cannot go to the chapters menu.

FLU_USER_OPERATION_SELECT_BUTTON

User cannot go trigger a select button event.

FLU_USER_OPERATION_SKIP_CHAPTER

User cannot skip to a different chapter.

FLU_USER_OPERATION_PAUSE

User cannot pause playback.

FLU_USER_OPERATION_STOP

User cannot stop playback.

FLU_USER_OPERATION_RESUME

User cannot resume movie playback from a menu.

FLU_USER_OPERATION_ALL

User cannot perform any operation.

enum FluSeekType

Enum values used to describe different seek position type in a FluPlayerEventSeekSource event.

FLU_SEEK_TYPE_UNDEFINED

The seek position is type of undefined.

FLU_SEEK_TYPE_BYTES

The seek position is byte-based.

FLU_SEEK_TYPE_TIME

The seek position is time-based.

FluPlayerEventError

typedef struct { GError *error; const gchar *dbg; } FluPlayerEventError;

Event structure describing an error that occured in an FluPlayer instance.

FluPlayerEventStreamError

typedef struct { GError *error; const gchar *dbg; FluStream *stream; } FluPlayerEventStreamError;

Event structure describing an error that occured in an FluStream instance.

FluPlayerEventBuffering

typedef struct { gint percent; } FluPlayerEventBuffering;

Event structure providing information about the current buffering state of an FluPlayer instance. When percent is lower than 100, the player is paused and buffering data. When percent reaches 100 again, playback will resume.

FluPlayerEventRequestTexture

typedef struct { guintptr handle; FluStream *stream; gboolean handle_aspect_ratio; } FluPlayerEventRequestTexture;

Event structure used by a stream to retrieve information about the target rendering texture. When a video stream is preparing to render the first video frame it will request a destination drawable to the application. Application should set the target texture pointer in handle while handling this event. The video rendering component is sometimes able to handle the drawing of black borders and maintain the original video aspect ratio. In most cases this will work just fine but it is recommended that the application handles this directly to support special cases like forcing a specific aspect ratio, video cropping, etc...

FluPlayerEventStreamInfoUpdated

typedef struct { FluStream *stream; } FluPlayerEventStreamInfoUpdated;

Event structure used to notify applications that a stream 's FluStreamInfo has changed.

FluPlayerEventStreamStateChanged

typedef struct { FluStream *stream; } FluPlayerEventStreamStateChanged;

Event structure used to notify applications that a stream 's state has changed. That means that the stream either became active thanks to data flow (after being requested) or inactive.

FluPlayerEventState

typedef struct { FluPlayerState state; } FluPlayerEventState;

Event structure used to notify applications that the player's state has changed. The new current state is provided in state or can be queried using flu_player_state_get().

FluPlayerEventUOPChanged

typedef struct { FluUserOperation prohibited_operations; } FluPlayerEventUOPChanged;

Event structure used to notify applications that the player's UOP (User Operation Prohibition) has changed.

FluPlayerEventRequestRenderMode

typedef struct { FluStream *stream; gboolean render; gboolean synchronize; } FluPlayerEventRequestRenderMode;

Event structure used to retrieve information about the target rendering mode for stream . Whenever the stream is about to be decoded, the application can decide to render or not to render a specific stream.

FluPlayerEventRequestRenderDevice

typedef struct { FluStream *stream; GList *devices; gint selected; } FluPlayerEventRequestRenderDevice;

Event structure used to retrieve what device to use to render a stream .

FluPlayerEventRender

typedef struct { FluStream *stream; guint64 duration; } FluPlayerEventRender;

Event structure indicating that a stream is ready to render a sample.

FluPlayerEventMediaInfoUpdated

typedef struct { const FluMediaInfo *info; FluSource *source; } FluPlayerEventMediaInfoUpdated;

Event structure used to notify applications that a player's FluMediaInfo has changed.

FluPlayerEventRequestDRMAgent

typedef struct { guintptr handle; } FluPlayerEventRequestDRMAgent;

Event structure used to retrieve the DRM agent handle used for decrypting

FluPlayerEventSeekSource

typedef struct { FluSource *source; guint64 position; FluSeekType type; } FluPlayerEventSeekSource;

Event structure used to request a seek on FluSource

FluPlayerEventSourceNeedData

typedef struct { FluSource *source; guint8* data; gsize size; guint64 pts; } FluPlayerEventSourceNeedData;

Event structure used when FluSource request data. This event is used with seekable FluCustomSource.

FluPlayer

typedef struct { } FluPlayer;

An opaque structure representing a media player instance.