DiCE API nvidia_logo_transpbg.gif Up
mi::rtmp::IPlay_event_handler Class Referenceabstract

Superclass of all handlers of play events. More...

#include <rtmp.h>

Inheritance diagram for mi::rtmp::IPlay_event_handler:

Public Member Functions

virtual bool handle (bool is_start, IStream *stream, neuraylib::IVideo_data **out)=0
 Called on a play or stop event. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x59798950, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x59798950, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

Superclass of all handlers of play events.

A subclass gets registered via mi::rtmp::IStream::register_play_event_handler() and will be called in the case of a play event which can be a play or stop event.

Member Function Documentation

 handle()

virtual bool mi::rtmp::IPlay_event_handler::handle ( bool  is_start,
IStream stream,
neuraylib::IVideo_data **  out 
)
pure virtual

Called on a play or stop event.

Play/stop events are similar to pause/resume events but are more expensive

The event handler allows to filter play or stop events. If it returns true the render loop for the corresponding stream is affected as follows. If is_start is true the render event handler will be called as often as indicated by the maximum render rate for this stream. If is_start is false the render event handler will not be called anymore. If the play event handler returns false nothing changes.

Play/stop events are similar to pause/resume events but are more expensive w.r.t. the internal state of the RTMP server.

Note
The stream parameter is only valid during the call of the handle() method and cannot be stored (even if proper reference counting is used).
A play handler is optional. If no handler is installed the play command from a video client will be allowed by default.
Parameters
is_starttrue indicates a play event, false indicates a stop event.
streamThe stream on which to start or stop playing.
[out]outPotential initialization/close video frame data can be returned here.
Returns
true if the event should be honored, or false if should be ignored.