rewrote BMediaRoster::Connect() and a few related functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1347 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -39,7 +39,7 @@ struct request_data
|
||||
{
|
||||
port_id reply_port;
|
||||
|
||||
void SendReply(reply_data *reply, int replysize) const;
|
||||
void SendReply(status_t result, reply_data *reply, int replysize) const;
|
||||
};
|
||||
|
||||
// The base struct used for all raw replys
|
||||
@@ -55,6 +55,7 @@ struct reply_data
|
||||
|
||||
using namespace BPrivate::media::dataexchange;
|
||||
|
||||
// BMessage based server communication
|
||||
enum {
|
||||
|
||||
// BMediaRoster notification service
|
||||
@@ -64,15 +65,131 @@ enum {
|
||||
|
||||
};
|
||||
|
||||
struct request_addonserver_instantiate_dormant_node : public request_data
|
||||
// Raw port based communication
|
||||
enum {
|
||||
SERVER_GET_NODE = 1000,
|
||||
SERVER_SET_NODE,
|
||||
CONSUMER_ACCEPT_FORMAT,
|
||||
CONSUMER_CONNECTED,
|
||||
PRODUCER_FORMAT_PROPOSAL,
|
||||
PRODUCER_PREPARE_TO_CONNECT,
|
||||
PRODUCER_CONNECT,
|
||||
};
|
||||
|
||||
// used by SERVER_GET_NODE and SERVER_SET_NODE
|
||||
enum node_type
|
||||
{
|
||||
VIDEO_INPUT,
|
||||
AUDIO_INPUT,
|
||||
VIDEO_OUTPUT,
|
||||
AUDIO_MIXER,
|
||||
AUDIO_OUTPUT,
|
||||
AUDIO_OUTPUT_EX,
|
||||
TIME_SOURCE,
|
||||
SYSTEM_TIME_SOURCE
|
||||
};
|
||||
|
||||
|
||||
struct addonserver_instantiate_dormant_node_request : public request_data
|
||||
{
|
||||
dormant_node_info info;
|
||||
};
|
||||
|
||||
struct reply_addonserver_instantiate_dormant_node : public reply_data
|
||||
struct addonserver_instantiate_dormant_node_reply : public reply_data
|
||||
{
|
||||
media_node node;
|
||||
};
|
||||
|
||||
struct server_set_node_request : public request_data
|
||||
{
|
||||
node_type type;
|
||||
bool use_node;
|
||||
media_node node;
|
||||
bool use_dni;
|
||||
dormant_node_info dni;
|
||||
bool use_input;
|
||||
media_input input;
|
||||
};
|
||||
|
||||
struct server_set_node_reply : public reply_data
|
||||
{
|
||||
};
|
||||
|
||||
struct server_get_node_request : public request_data
|
||||
{
|
||||
node_type type;
|
||||
};
|
||||
|
||||
struct server_get_node_reply : public reply_data
|
||||
{
|
||||
media_node node;
|
||||
|
||||
// for AUDIO_OUTPUT_EX
|
||||
char input_name[B_MEDIA_NAME_LENGTH];
|
||||
int32 input_id;
|
||||
};
|
||||
|
||||
struct producer_format_proposal_request : public request_data
|
||||
{
|
||||
media_source output;
|
||||
media_format format;
|
||||
};
|
||||
|
||||
struct producer_format_proposal_reply : public reply_data
|
||||
{
|
||||
media_format format;
|
||||
};
|
||||
|
||||
struct producer_prepare_to_connect_request : public request_data
|
||||
{
|
||||
media_source source;
|
||||
media_destination destination;
|
||||
media_format format;
|
||||
char name[B_MEDIA_NAME_LENGTH];
|
||||
};
|
||||
|
||||
struct producer_prepare_to_connect_reply : public reply_data
|
||||
{
|
||||
media_format format;
|
||||
media_source out_source;
|
||||
char name[B_MEDIA_NAME_LENGTH];
|
||||
};
|
||||
|
||||
struct producer_connect_request : public request_data
|
||||
{
|
||||
status_t error;
|
||||
media_source source;
|
||||
media_destination destination;
|
||||
media_format format;
|
||||
char name[B_MEDIA_NAME_LENGTH];
|
||||
};
|
||||
|
||||
struct producer_connect_reply : public reply_data
|
||||
{
|
||||
char name[B_MEDIA_NAME_LENGTH];
|
||||
};
|
||||
|
||||
struct consumer_accept_format_request : public request_data
|
||||
{
|
||||
media_destination dest;
|
||||
media_format format;
|
||||
};
|
||||
|
||||
struct consumer_accept_format_reply : public reply_data
|
||||
{
|
||||
media_format format;
|
||||
};
|
||||
|
||||
struct consumer_connected_request : public request_data
|
||||
{
|
||||
media_source producer;
|
||||
media_destination where;
|
||||
media_format with_format;
|
||||
};
|
||||
|
||||
struct consumer_connected_reply : public reply_data
|
||||
{
|
||||
media_input input;
|
||||
};
|
||||
|
||||
#endif // _DATA_EXCHANGE_H
|
||||
|
||||
Reference in New Issue
Block a user