Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GI.Gtk.Objects.MediaFile
Description
MediaFile
is the implementation for media file usage with MediaStream
.
This provides a simple way to play back video files with GTK.
GTK provides a GIO extension point for MediaFile
implementations
to allow for external implementations using various media frameworks.
GTK itself includes implementations using GStreamer and ffmpeg.
Synopsis
- newtype MediaFile = MediaFile (ManagedPtr MediaFile)
- class (GObject o, IsDescendantOf MediaFile o) => IsMediaFile o
- toMediaFile :: (MonadIO m, IsMediaFile o) => o -> m MediaFile
- mediaFileClear :: (HasCallStack, MonadIO m, IsMediaFile a) => a -> m ()
- mediaFileGetFile :: (HasCallStack, MonadIO m, IsMediaFile a) => a -> m (Maybe File)
- mediaFileGetInputStream :: (HasCallStack, MonadIO m, IsMediaFile a) => a -> m (Maybe InputStream)
- mediaFileNew :: (HasCallStack, MonadIO m) => m MediaFile
- mediaFileNewForFile :: (HasCallStack, MonadIO m, IsFile a) => a -> m MediaFile
- mediaFileNewForFilename :: (HasCallStack, MonadIO m) => Text -> m MediaFile
- mediaFileNewForInputStream :: (HasCallStack, MonadIO m, IsInputStream a) => a -> m MediaFile
- mediaFileNewForResource :: (HasCallStack, MonadIO m) => Text -> m MediaFile
- mediaFileSetFile :: (HasCallStack, MonadIO m, IsMediaFile a, IsFile b) => a -> Maybe b -> m ()
- mediaFileSetFilename :: (HasCallStack, MonadIO m, IsMediaFile a) => a -> Maybe Text -> m ()
- mediaFileSetInputStream :: (HasCallStack, MonadIO m, IsMediaFile a, IsInputStream b) => a -> Maybe b -> m ()
- mediaFileSetResource :: (HasCallStack, MonadIO m, IsMediaFile a) => a -> Maybe Text -> m ()
- clearMediaFileFile :: (MonadIO m, IsMediaFile o) => o -> m ()
- constructMediaFileFile :: (IsMediaFile o, MonadIO m, IsFile a) => a -> m (GValueConstruct o)
- getMediaFileFile :: (MonadIO m, IsMediaFile o) => o -> m (Maybe File)
- setMediaFileFile :: (MonadIO m, IsMediaFile o, IsFile a) => o -> a -> m ()
- clearMediaFileInputStream :: (MonadIO m, IsMediaFile o) => o -> m ()
- constructMediaFileInputStream :: (IsMediaFile o, MonadIO m, IsInputStream a) => a -> m (GValueConstruct o)
- getMediaFileInputStream :: (MonadIO m, IsMediaFile o) => o -> m (Maybe InputStream)
- setMediaFileInputStream :: (MonadIO m, IsMediaFile o, IsInputStream a) => o -> a -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq MediaFile Source # | |
GObject MediaFile Source # | |
Defined in GI.Gtk.Objects.MediaFile | |
ManagedPtrNewtype MediaFile Source # | |
Defined in GI.Gtk.Objects.MediaFile Methods toManagedPtr :: MediaFile -> ManagedPtr MediaFile | |
TypedObject MediaFile Source # | |
Defined in GI.Gtk.Objects.MediaFile | |
HasParentTypes MediaFile Source # | |
Defined in GI.Gtk.Objects.MediaFile | |
IsGValue (Maybe MediaFile) Source # | Convert |
Defined in GI.Gtk.Objects.MediaFile Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe MediaFile -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe MediaFile) | |
type ParentTypes MediaFile Source # | |
Defined in GI.Gtk.Objects.MediaFile |
class (GObject o, IsDescendantOf MediaFile o) => IsMediaFile o Source #
Type class for types which can be safely cast to MediaFile
, for instance with toMediaFile
.
Instances
(GObject o, IsDescendantOf MediaFile o) => IsMediaFile o Source # | |
Defined in GI.Gtk.Objects.MediaFile |
toMediaFile :: (MonadIO m, IsMediaFile o) => o -> m MediaFile Source #
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, clear, computeConcreteSize, ended, forceFloating, freezeNotify, gerror, getv, hasAudio, hasVideo, invalidateContents, invalidateSize, isFloating, isPrepared, isSeekable, isSeeking, notify, notifyByPspec, pause, play, prepared, realize, ref, refSink, runDispose, seek, seekFailed, seekSuccess, snapshot, stealData, stealQdata, thawNotify, unprepared, unrealize, unref, update, watchClosure.
Getters
getCurrentImage, getData, getDuration, getEnded, getError, getFile, getFlags, getInputStream, getIntrinsicAspectRatio, getIntrinsicHeight, getIntrinsicWidth, getLoop, getMuted, getPlaying, getProperty, getQdata, getTimestamp, getVolume.
Setters
setData, setDataFull, setFile, setFilename, setInputStream, setLoop, setMuted, setPlaying, setProperty, setResource, setVolume.
clear
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a) | |
=> a |
|
-> m () |
Resets the media file to be empty.
getFile
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a) | |
=> a |
|
-> m (Maybe File) | Returns: The currently playing file or |
Returns the file that self
is currently playing from.
When self
is not playing or not playing from a file,
Nothing
is returned.
getInputStream
mediaFileGetInputStream Source #
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a) | |
=> a |
|
-> m (Maybe InputStream) | Returns: The currently playing stream or |
Returns the stream that self
is currently playing from.
When self
is not playing or not playing from a stream,
Nothing
is returned.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m MediaFile | Returns: a new |
Creates a new empty media file.
newForFile
Arguments
:: (HasCallStack, MonadIO m, IsFile a) | |
=> a |
|
-> m MediaFile | Returns: a new |
Creates a new media file to play file
.
newForFilename
mediaFileNewForFilename Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m MediaFile | Returns: a new |
This is a utility function that converts the given filename
to a File
and calls mediaFileNewForFile
.
newForInputStream
mediaFileNewForInputStream Source #
Arguments
:: (HasCallStack, MonadIO m, IsInputStream a) | |
=> a |
|
-> m MediaFile | Returns: a new |
Creates a new media file to play stream
. If you want the
resulting media to be seekable, the stream should implement
the Seekable
interface.
newForResource
mediaFileNewForResource Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m MediaFile | Returns: a new |
This is a utility function that converts the given resource
to a File
and calls mediaFileNewForFile
.
setFile
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a, IsFile b) | |
=> a |
|
-> Maybe b |
|
-> m () |
If any file is still playing, stop playing it.
Then start playing the given file
.
setFilename
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
This is a utility function that converts the given filename
to a File
and calls mediaFileSetFile
.
setInputStream
mediaFileSetInputStream Source #
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a, IsInputStream b) | |
=> a |
|
-> Maybe b |
|
-> m () |
If anything is still playing, stop playing it. Then start
playing the given stream
.
Full control about the stream
is assumed for the duration of
playback. The stream will not bt be closed.
setResource
Arguments
:: (HasCallStack, MonadIO m, IsMediaFile a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
This is a utility function that converts the given resourcePath
to a File
and calls mediaFileSetFile
.
Properties
file
The file being played back or Nothing
if not playing a file.
clearMediaFileFile :: (MonadIO m, IsMediaFile o) => o -> m () Source #
Set the value of the “file
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#file
constructMediaFileFile :: (IsMediaFile o, MonadIO m, IsFile a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “file
” property. This is rarely needed directly, but it is used by new
.
getMediaFileFile :: (MonadIO m, IsMediaFile o) => o -> m (Maybe File) Source #
Get the value of the “file
” property.
When overloading is enabled, this is equivalent to
get
mediaFile #file
setMediaFileFile :: (MonadIO m, IsMediaFile o, IsFile a) => o -> a -> m () Source #
Set the value of the “file
” property.
When overloading is enabled, this is equivalent to
set
mediaFile [ #file:=
value ]
inputStream
The stream being played back or Nothing
if not playing a stream, like when playing a file.
clearMediaFileInputStream :: (MonadIO m, IsMediaFile o) => o -> m () Source #
Set the value of the “input-stream
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#inputStream
constructMediaFileInputStream :: (IsMediaFile o, MonadIO m, IsInputStream a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “input-stream
” property. This is rarely needed directly, but it is used by new
.
getMediaFileInputStream :: (MonadIO m, IsMediaFile o) => o -> m (Maybe InputStream) Source #
Get the value of the “input-stream
” property.
When overloading is enabled, this is equivalent to
get
mediaFile #inputStream
setMediaFileInputStream :: (MonadIO m, IsMediaFile o, IsInputStream a) => o -> a -> m () Source #
Set the value of the “input-stream
” property.
When overloading is enabled, this is equivalent to
set
mediaFile [ #inputStream:=
value ]