ibridge_video_server.h File Reference
Description
Bridge video handling.
Code Example
ibridge_video_server.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_UNPUBLISHED_BRIDGE_VIDEO_SERVER_H
#define MI_UNPUBLISHED_BRIDGE_VIDEO_SERVER_H
#include <mi/base/interface_declare.h>
#include <mi/neuraylib/typedefs.h>
namespace mi {
class IString;
namespace neuraylib { class IBuffer; class ICanvas; }
namespace bridge {
class IVideo_source;
class IServer_video_context : public
mi::base::Interface_declare<0x9f1c260c,0x43a7,0x439e,0x9a,0x9f,0xb0,0xc0,0x24,0xc4,0xdc,0xbe>
{
public:
virtual void frame_ready() = 0;
virtual void set_video_source( IVideo_source* video_source) = 0;
virtual IVideo_source* get_video_source() const = 0;
virtual Sint32
set_video_format( const char* format) = 0;
virtual const IString* get_video_format() const = 0;
virtual Sint32
set_max_frame_rate( Uint32 frame_rate) = 0;
virtual Uint32
get_max_frame_rate() const = 0;
virtual Sint32
set_render_frame_rate( Float64 frame_rate) = 0;
virtual Sint32
set_bit_rate( Uint32 bit_rate) = 0;
virtual Sint32
set_max_bitrate( Uint32 bit_rate) = 0;
virtual Uint32
get_max_bitrate() const = 0;
// However, the bitrate will not be set below the minimum bitrate. If the available bandwidth
virtual Sint32
set_min_bitrate( Uint32 bit_rate) = 0;
virtual Uint32
get_min_bitrate() const = 0;
virtual Uint32
get_bit_rate() const = 0;
virtual void report_progress( Float64 value, const char* area, const char* message) = 0;
virtual void report_error( Sint32 error_code, const char* error_message) = 0;
virtual void reset() = 0;
virtual void close() = 0;
virtual Uint32
get_id() const = 0;
};
class IVideo_source : public
mi::base::Interface_declare<0x972224a4,0xa63b,0x42ce,0x96,0xfe,0xe1,0x33,0xf9,0x81,0x1c,0x64>
{
public:
virtual Sint32
video_get_next_frame( neuraylib::ICanvas** frame, neuraylib::IBuffer** data) = 0;
virtual void video_error( Sint32 error_code, const char* message) = 0;
virtual void video_context_closed( Sint32 reason) = 0;
};
// end group mi_neuray_bridge_server
} // namespace bridge
} // namespace mi
#endif // MI_UNPUBLISHED_BRIDGE_VIDEO_SERVER_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the Bridge functionality of the neuray API. More...
- namespace
- Namespace for the neuray API. More...