NVIDIA Iray API — software examples nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Frame_event_handler Class Reference
Inheritance diagram for Frame_event_handler:
mi::base::Interface_implement< mi::rtmp::IFrame_event_handler > mi::rtmp::IFrame_event_handler mi::base::Interface_declare< 0x0dacca64, 0x41ae, 0x407f, 0xbf, 0x9b, 0x97, 0xaf, 0xe7, 0x92, 0x12, 0xbd > mi::base::IInterface

Public Member Functions

bool handle (mi::rtmp::IStream *stream, mi::neuraylib::IVideo_data **out, bool send_queue_is_full)
 Called on a frame event. More...
 
void update_canvas (mi::neuraylib::ICanvas *new_canvas)
 
- Public Member Functions inherited from mi::base::Interface_implement< mi::rtmp::IFrame_event_handler >
 Interface_implement (Uint32 initial=1)
 Constructor. More...
 
 Interface_implement (const Interface_implement< mi::rtmp::IFrame_event_handler > &other)
 Copy constructor. More...
 
Interface_implement
< mi::rtmp::IFrame_event_handler > & 
operator= (const Interface_implement< mi::rtmp::IFrame_event_handler > &other)
 Assignment operator. More...
 
virtual Uint32 retain () const
 Increments the reference count. More...
 
virtual Uint32 release () const
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const
 Acquires a const interface. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)
 Acquires a mutable interface. More...
 
Uuid get_iid () const
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x0dacca64, 0x41ae, 0x407f, 0xbf, 0x9b, 0x97, 0xaf, 0xe7, 0x92, 0x12, 0xbd >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x0dacca64, 0x41ae, 0x407f, 0xbf, 0x9b, 0x97, 0xaf, 0xe7, 0x92, 0x12, 0xbd >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Protected Member Functions inherited from mi::base::Interface_implement< mi::rtmp::IFrame_event_handler >
Atom32refcount () const
 Get the current refcount. More...
 
virtual ~Interface_implement ()
 
- Static Protected Member Functions inherited from mi::base::Interface_declare< 0x0dacca64, 0x41ae, 0x407f, 0xbf, 0x9b, 0x97, 0xaf, 0xe7, 0x92, 0x12, 0xbd >
static const IInterfaceget_interface_static (const IInterface *iinterface, const Uuid &interface_id)
 
static IInterfaceget_interface_static (IInterface *iinterface, const Uuid &interface_id)
 

Detailed Description

Definition at line 112 of file example_rtmp_server.cpp.

Member Function Documentation

bool Frame_event_handler::handle ( mi::rtmp::IStream stream,
mi::neuraylib::IVideo_data **  out,
bool  outqueue_is_full 
)
inlinevirtual

Called on a frame event.

When the outqueue_is_full parameter is set the bandwidth is either not enough or the client is not consuming the frames fast enough. Encoding a new large frame will then queue up data which will degrade interactivity. Perhaps encoding the old canvas would then be preferable as most codecs in that case produce very small P-frames.

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).
Parameters
streamThe stream on which the frame handler is registered.
[out]outAn empty video frame that should be filled with video encoded frame data.
outqueue_is_fullSet to true when the sending queue to the client is buffering up.
Returns
true in case of success, or false if an error occurred and the stream should be stopped by the RTMP server.

Implements mi::rtmp::IFrame_event_handler.

Definition at line 115 of file example_rtmp_server.cpp.

void Frame_event_handler::update_canvas ( mi::neuraylib::ICanvas new_canvas)
inline

Definition at line 133 of file example_rtmp_server.cpp.


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