LibreOffice Module avmedia (master) 1
Public Member Functions | Private Attributes | List of all members
avmedia::gstreamer::Player Class Referencefinal

#include <gstplayer.hxx>

Inheritance diagram for avmedia::gstreamer::Player:
[legend]
Collaboration diagram for avmedia::gstreamer::Player:
[legend]

Public Member Functions

 Player ()
 
virtual ~Player () override
 
void preparePlaybin (std::u16string_view rURL, GstElement *pSink)
 
bool create (const OUString &rURL)
 
void processMessage (GstMessage *message)
 
GstBusSyncReply processSyncMessage (GstMessage *message)
 
virtual void SAL_CALL start () override
 
virtual void SAL_CALL stop () override
 
virtual sal_Bool SAL_CALL isPlaying () override
 
virtual double SAL_CALL getDuration () override
 
virtual void SAL_CALL setMediaTime (double fTime) override
 
virtual double SAL_CALL getMediaTime () override
 
virtual void SAL_CALL setPlaybackLoop (sal_Bool bSet) override
 
virtual sal_Bool SAL_CALL isPlaybackLoop () override
 
virtual void SAL_CALL setMute (sal_Bool bSet) override
 
virtual sal_Bool SAL_CALL isMute () override
 
virtual void SAL_CALL setVolumeDB (sal_Int16 nVolumeDB) override
 
virtual sal_Int16 SAL_CALL getVolumeDB () override
 
virtual css::awt::Size SAL_CALL getPreferredPlayerWindowSize () override
 
virtual css::uno::Reference< css::media::XPlayerWindow > SAL_CALL createPlayerWindow (const css::uno::Sequence< css::uno::Any > &aArguments) override
 
virtual css::uno::Reference< css::media::XFrameGrabber > SAL_CALL createFrameGrabber () override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual void SAL_CALL disposing () final override
 

Private Attributes

OUString maURL
 
GstElement * mpPlaybin
 
GstElement * mpVolumeControl
 
bool mbUseGtkSink
 
bool mbFakeVideo
 
gdouble mnUnmutedVolume
 
bool mbMuted
 
bool mbLooping
 
bool mbInitialized
 
void * mpDisplay
 
tools::Long mnWindowID
 
GstVideoOverlaympXOverlay
 
gint64 mnDuration
 
int mnWidth
 
int mnHeight
 
css::awt::Rectangle maArea
 
guint mnWatchID
 
bool mbWatchID
 
osl::Condition maSizeCondition
 

Additional Inherited Members

- Protected Attributes inherited from cppu::BaseMutex
mutable::osl::Mutex m_aMutex
 

Detailed Description

Definition at line 41 of file gstplayer.hxx.

Constructor & Destructor Documentation

◆ Player()

avmedia::gstreamer::Player::Player ( )
explicit

Definition at line 286 of file gstplayer.cxx.

References AVVERSION, m_aMutex, mbInitialized, mbInitialized, mnHeight, mnWidth, name, and SAL_INFO.

◆ ~Player()

avmedia::gstreamer::Player::~Player ( )
overridevirtual

Definition at line 325 of file gstplayer.cxx.

References AVVERSION, disposing(), mbInitialized, and SAL_INFO.

Member Function Documentation

◆ create()

bool avmedia::gstreamer::Player::create ( const OUString &  rURL)

Definition at line 607 of file gstplayer.cxx.

References maURL, mbInitialized, mpPlaybin, preparePlaybin(), and SAL_INFO.

◆ createFrameGrabber()

uno::Reference< media::XFrameGrabber > SAL_CALL avmedia::gstreamer::Player::createFrameGrabber ( )
overridevirtual

◆ createPlayerWindow()

virtual css::uno::Reference< css::media::XPlayerWindow > SAL_CALL avmedia::gstreamer::Player::createPlayerWindow ( const css::uno::Sequence< css::uno::Any > &  aArguments)
overridevirtual

◆ disposing()

void SAL_CALL avmedia::gstreamer::Player::disposing ( )
finaloverridevirtual

◆ getDuration()

double SAL_CALL avmedia::gstreamer::Player::getDuration ( )
overridevirtual

Definition at line 672 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, mnDuration, and mpPlaybin.

◆ getImplementationName()

OUString SAL_CALL avmedia::gstreamer::Player::getImplementationName ( )
overridevirtual

Definition at line 951 of file gstplayer.cxx.

References AVMEDIA_GST_PLAYER_IMPLEMENTATIONNAME.

◆ getMediaTime()

double SAL_CALL avmedia::gstreamer::Player::getMediaTime ( )
overridevirtual

Definition at line 706 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, mpPlaybin, and position().

◆ getPreferredPlayerWindowSize()

awt::Size SAL_CALL avmedia::gstreamer::Player::getPreferredPlayerWindowSize ( )
overridevirtual

Definition at line 804 of file gstplayer.cxx.

References AVVERSION, cppu::BaseMutex::m_aMutex, maSizeCondition, maURL, mnHeight, mnWidth, and SAL_INFO.

Referenced by createFrameGrabber().

◆ getSupportedServiceNames()

uno::Sequence< OUString > SAL_CALL avmedia::gstreamer::Player::getSupportedServiceNames ( )
overridevirtual

Definition at line 963 of file gstplayer.cxx.

References AVMEDIA_GST_PLAYER_SERVICENAME.

◆ getVolumeDB()

sal_Int16 SAL_CALL avmedia::gstreamer::Player::getVolumeDB ( )
overridevirtual

Definition at line 785 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, and mpVolumeControl.

◆ isMute()

sal_Bool SAL_CALL avmedia::gstreamer::Player::isMute ( )
overridevirtual

Definition at line 761 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, and mbMuted.

◆ isPlaybackLoop()

sal_Bool SAL_CALL avmedia::gstreamer::Player::isPlaybackLoop ( )
overridevirtual

Definition at line 731 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, and mbLooping.

◆ isPlaying()

sal_Bool SAL_CALL avmedia::gstreamer::Player::isPlaying ( )
overridevirtual

Definition at line 657 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, mbInitialized, and mpPlaybin.

◆ preparePlaybin()

void avmedia::gstreamer::Player::preparePlaybin ( std::u16string_view  rURL,
GstElement *  pSink 
)

◆ processMessage()

void avmedia::gstreamer::Player::processMessage ( GstMessage *  message)

Definition at line 387 of file gstplayer.cxx.

References mbLooping, mbUseGtkSink, mpPlaybin, mpXOverlay, and start().

Referenced by avmedia::gstreamer::pipeline_bus_callback().

◆ processSyncMessage()

GstBusSyncReply avmedia::gstreamer::Player::processSyncMessage ( GstMessage *  message)

◆ setMediaTime()

void SAL_CALL avmedia::gstreamer::Player::setMediaTime ( double  fTime)
overridevirtual

Definition at line 687 of file gstplayer.cxx.

References AVVERSION, cppu::BaseMutex::m_aMutex, mpPlaybin, and SAL_INFO.

◆ setMute()

void SAL_CALL avmedia::gstreamer::Player::setMute ( sal_Bool  bSet)
overridevirtual

◆ setPlaybackLoop()

void SAL_CALL avmedia::gstreamer::Player::setPlaybackLoop ( sal_Bool  bSet)
overridevirtual

Definition at line 723 of file gstplayer.cxx.

References cppu::BaseMutex::m_aMutex, and mbLooping.

◆ setVolumeDB()

void SAL_CALL avmedia::gstreamer::Player::setVolumeDB ( sal_Int16  nVolumeDB)
overridevirtual

◆ start()

void SAL_CALL avmedia::gstreamer::Player::start ( )
overridevirtual

Definition at line 633 of file gstplayer.cxx.

References AVVERSION, cppu::BaseMutex::m_aMutex, mbInitialized, mpPlaybin, and SAL_INFO.

Referenced by processMessage().

◆ stop()

void SAL_CALL avmedia::gstreamer::Player::stop ( )
overridevirtual

Definition at line 646 of file gstplayer.cxx.

References AVVERSION, cppu::BaseMutex::m_aMutex, mpPlaybin, and SAL_INFO.

Referenced by disposing().

◆ supportsService()

sal_Bool SAL_CALL avmedia::gstreamer::Player::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 957 of file gstplayer.cxx.

References ServiceName, and cppu::supportsService().

Member Data Documentation

◆ maArea

css::awt::Rectangle avmedia::gstreamer::Player::maArea
private

Definition at line 100 of file gstplayer.hxx.

Referenced by processSyncMessage().

◆ maSizeCondition

osl::Condition avmedia::gstreamer::Player::maSizeCondition
private

Definition at line 105 of file gstplayer.hxx.

Referenced by getPreferredPlayerWindowSize(), and processSyncMessage().

◆ maURL

OUString avmedia::gstreamer::Player::maURL
private

Definition at line 80 of file gstplayer.hxx.

Referenced by create(), createFrameGrabber(), and getPreferredPlayerWindowSize().

◆ mbFakeVideo

bool avmedia::gstreamer::Player::mbFakeVideo
private

Definition at line 86 of file gstplayer.hxx.

Referenced by preparePlaybin().

◆ mbInitialized

bool avmedia::gstreamer::Player::mbInitialized
private

Definition at line 91 of file gstplayer.hxx.

Referenced by create(), disposing(), isPlaying(), Player(), start(), and ~Player().

◆ mbLooping

bool avmedia::gstreamer::Player::mbLooping
private

Definition at line 90 of file gstplayer.hxx.

Referenced by isPlaybackLoop(), processMessage(), and setPlaybackLoop().

◆ mbMuted

bool avmedia::gstreamer::Player::mbMuted
private

Definition at line 89 of file gstplayer.hxx.

Referenced by isMute(), setMute(), and setVolumeDB().

◆ mbUseGtkSink

bool avmedia::gstreamer::Player::mbUseGtkSink
private

Definition at line 85 of file gstplayer.hxx.

Referenced by processMessage(), and processSyncMessage().

◆ mbWatchID

bool avmedia::gstreamer::Player::mbWatchID
private

Definition at line 103 of file gstplayer.hxx.

Referenced by disposing(), and preparePlaybin().

◆ mnDuration

gint64 avmedia::gstreamer::Player::mnDuration
private

Definition at line 96 of file gstplayer.hxx.

Referenced by getDuration(), and processSyncMessage().

◆ mnHeight

int avmedia::gstreamer::Player::mnHeight
private

Definition at line 98 of file gstplayer.hxx.

Referenced by getPreferredPlayerWindowSize(), and processSyncMessage().

◆ mnUnmutedVolume

gdouble avmedia::gstreamer::Player::mnUnmutedVolume
private

Definition at line 88 of file gstplayer.hxx.

Referenced by setMute(), and setVolumeDB().

◆ mnWatchID

guint avmedia::gstreamer::Player::mnWatchID
private

Definition at line 102 of file gstplayer.hxx.

Referenced by disposing(), and preparePlaybin().

◆ mnWidth

int avmedia::gstreamer::Player::mnWidth
private

Definition at line 97 of file gstplayer.hxx.

Referenced by getPreferredPlayerWindowSize(), and processSyncMessage().

◆ mnWindowID

tools::Long avmedia::gstreamer::Player::mnWindowID
private

Definition at line 94 of file gstplayer.hxx.

Referenced by processSyncMessage().

◆ mpDisplay

void* avmedia::gstreamer::Player::mpDisplay
private

Definition at line 93 of file gstplayer.hxx.

Referenced by processSyncMessage().

◆ mpPlaybin

GstElement* avmedia::gstreamer::Player::mpPlaybin
private

◆ mpVolumeControl

GstElement* avmedia::gstreamer::Player::mpVolumeControl
private

Definition at line 84 of file gstplayer.hxx.

Referenced by disposing(), getVolumeDB(), preparePlaybin(), setMute(), and setVolumeDB().

◆ mpXOverlay

GstVideoOverlay* avmedia::gstreamer::Player::mpXOverlay
private

Definition at line 95 of file gstplayer.hxx.

Referenced by disposing(), processMessage(), and processSyncMessage().


The documentation for this class was generated from the following files: