* Applied patch by Adrian to fix the command structures used for the media
server with GCC4 in a GCC2 system (and vice versa). See #4920 which this patch closes, too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33997 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002, Marcus Overhagen. All rights reserved.
|
* Copyright 2002, Marcus Overhagen. All rights reserved.
|
||||||
* Copyright 2009, Axel Dörfler, [email protected].
|
* Copyright 2009, Axel Dörfler, [email protected].
|
||||||
*
|
*
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
#ifndef _DATA_EXCHANGE_H
|
#ifndef _DATA_EXCHANGE_H
|
||||||
#define _DATA_EXCHANGE_H
|
#define _DATA_EXCHANGE_H
|
||||||
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <MediaFormats.h>
|
#include <MediaFormats.h>
|
||||||
@@ -60,6 +61,11 @@ struct reply_data {
|
|||||||
// The base struct used for all raw commands (asynchronous, no answer)
|
// The base struct used for all raw commands (asynchronous, no answer)
|
||||||
struct command_data {
|
struct command_data {
|
||||||
// yes, it's empty ;)
|
// yes, it's empty ;)
|
||||||
|
|
||||||
|
#if __GNUC__ == 4
|
||||||
|
int32 _padding;
|
||||||
|
// GCC 2 and GCC 4 treat empty structures differently
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
// The base struct used for all requests using an area
|
// The base struct used for all requests using an area
|
||||||
@@ -137,7 +143,7 @@ enum {
|
|||||||
SERVER_GET_ENCODER_FOR_CODEC_INFO,
|
SERVER_GET_ENCODER_FOR_CODEC_INFO,
|
||||||
SERVER_MESSAGE_END,
|
SERVER_MESSAGE_END,
|
||||||
NODE_MESSAGE_START = 0x200,
|
NODE_MESSAGE_START = 0x200,
|
||||||
|
|
||||||
NODE_START,
|
NODE_START,
|
||||||
NODE_STOP,
|
NODE_STOP,
|
||||||
NODE_SEEK,
|
NODE_SEEK,
|
||||||
@@ -148,7 +154,7 @@ enum {
|
|||||||
NODE_GET_TIMESOURCE,
|
NODE_GET_TIMESOURCE,
|
||||||
NODE_REQUEST_COMPLETED,
|
NODE_REQUEST_COMPLETED,
|
||||||
NODE_FINAL_RELEASE,
|
NODE_FINAL_RELEASE,
|
||||||
|
|
||||||
NODE_MESSAGE_END,
|
NODE_MESSAGE_END,
|
||||||
CONSUMER_MESSAGE_START = 0x300,
|
CONSUMER_MESSAGE_START = 0x300,
|
||||||
CONSUMER_GET_NEXT_INPUT,
|
CONSUMER_GET_NEXT_INPUT,
|
||||||
@@ -156,13 +162,13 @@ enum {
|
|||||||
CONSUMER_ACCEPT_FORMAT,
|
CONSUMER_ACCEPT_FORMAT,
|
||||||
CONSUMER_CONNECTED,
|
CONSUMER_CONNECTED,
|
||||||
CONSUMER_DISCONNECTED,
|
CONSUMER_DISCONNECTED,
|
||||||
|
|
||||||
CONSUMER_BUFFER_RECEIVED,
|
CONSUMER_BUFFER_RECEIVED,
|
||||||
CONSUMER_PRODUCER_DATA_STATUS,
|
CONSUMER_PRODUCER_DATA_STATUS,
|
||||||
CONSUMER_GET_LATENCY_FOR,
|
CONSUMER_GET_LATENCY_FOR,
|
||||||
CONSUMER_FORMAT_CHANGED,
|
CONSUMER_FORMAT_CHANGED,
|
||||||
CONSUMER_SEEK_TAG_REQUESTED,
|
CONSUMER_SEEK_TAG_REQUESTED,
|
||||||
|
|
||||||
CONSUMER_MESSAGE_END,
|
CONSUMER_MESSAGE_END,
|
||||||
PRODUCER_MESSAGE_START = 0x400,
|
PRODUCER_MESSAGE_START = 0x400,
|
||||||
PRODUCER_GET_NEXT_OUTPUT,
|
PRODUCER_GET_NEXT_OUTPUT,
|
||||||
@@ -171,7 +177,7 @@ enum {
|
|||||||
PRODUCER_PREPARE_TO_CONNECT,
|
PRODUCER_PREPARE_TO_CONNECT,
|
||||||
PRODUCER_CONNECT,
|
PRODUCER_CONNECT,
|
||||||
PRODUCER_DISCONNECT,
|
PRODUCER_DISCONNECT,
|
||||||
|
|
||||||
PRODUCER_LATE_NOTICE_RECEIVED,
|
PRODUCER_LATE_NOTICE_RECEIVED,
|
||||||
PRODUCER_LATENCY_CHANGED,
|
PRODUCER_LATENCY_CHANGED,
|
||||||
PRODUCER_ADDITIONAL_BUFFER_REQUESTED,
|
PRODUCER_ADDITIONAL_BUFFER_REQUESTED,
|
||||||
@@ -184,7 +190,7 @@ enum {
|
|||||||
PRODUCER_SET_PLAY_RATE,
|
PRODUCER_SET_PLAY_RATE,
|
||||||
PRODUCER_ENABLE_OUTPUT,
|
PRODUCER_ENABLE_OUTPUT,
|
||||||
PRODUCER_SET_RUN_MODE_DELAY,
|
PRODUCER_SET_RUN_MODE_DELAY,
|
||||||
|
|
||||||
PRODUCER_MESSAGE_END,
|
PRODUCER_MESSAGE_END,
|
||||||
FILEINTERFACE_MESSAGE_START = 0x500,
|
FILEINTERFACE_MESSAGE_START = 0x500,
|
||||||
FILEINTERFACE_SET_REF,
|
FILEINTERFACE_SET_REF,
|
||||||
@@ -198,12 +204,12 @@ enum {
|
|||||||
CONTROLLABLE_START_CONTROL_PANEL,
|
CONTROLLABLE_START_CONTROL_PANEL,
|
||||||
CONTROLLABLE_MESSAGE_END,
|
CONTROLLABLE_MESSAGE_END,
|
||||||
TIMESOURCE_MESSAGE_START = 0x700,
|
TIMESOURCE_MESSAGE_START = 0x700,
|
||||||
|
|
||||||
TIMESOURCE_OP, // datablock is a struct time_source_op_info
|
TIMESOURCE_OP, // datablock is a struct time_source_op_info
|
||||||
TIMESOURCE_ADD_SLAVE_NODE,
|
TIMESOURCE_ADD_SLAVE_NODE,
|
||||||
TIMESOURCE_REMOVE_SLAVE_NODE,
|
TIMESOURCE_REMOVE_SLAVE_NODE,
|
||||||
TIMESOURCE_GET_START_LATENCY,
|
TIMESOURCE_GET_START_LATENCY,
|
||||||
|
|
||||||
TIMESOURCE_MESSAGE_END,
|
TIMESOURCE_MESSAGE_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -246,15 +252,15 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// used by SERVER_GET_NODE and SERVER_SET_NODE
|
// used by SERVER_GET_NODE and SERVER_SET_NODE
|
||||||
enum node_type {
|
enum node_type {
|
||||||
VIDEO_INPUT,
|
VIDEO_INPUT,
|
||||||
AUDIO_INPUT,
|
AUDIO_INPUT,
|
||||||
VIDEO_OUTPUT,
|
VIDEO_OUTPUT,
|
||||||
AUDIO_MIXER,
|
AUDIO_MIXER,
|
||||||
AUDIO_OUTPUT,
|
AUDIO_OUTPUT,
|
||||||
AUDIO_OUTPUT_EX,
|
AUDIO_OUTPUT_EX,
|
||||||
TIME_SOURCE,
|
TIME_SOURCE,
|
||||||
SYSTEM_TIME_SOURCE
|
SYSTEM_TIME_SOURCE
|
||||||
};
|
};
|
||||||
|
|
||||||
// used by SERVER_PUBLISH_INPUTS and SERVER_PUBLISH_OUTPUTS
|
// used by SERVER_PUBLISH_INPUTS and SERVER_PUBLISH_OUTPUTS
|
||||||
@@ -654,7 +660,7 @@ struct server_get_live_nodes_reply : area_reply_data {
|
|||||||
int32 count;
|
int32 count;
|
||||||
// if count > MAX_LIVE_INFO, live_node_infos are in the area
|
// if count > MAX_LIVE_INFO, live_node_infos are in the area
|
||||||
// area is created in the server, but deleted in the library
|
// area is created in the server, but deleted in the library
|
||||||
live_node_info live_info[MAX_LIVE_INFO];
|
live_node_info live_info[MAX_LIVE_INFO];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct server_node_id_for_request : request_data {
|
struct server_node_id_for_request : request_data {
|
||||||
@@ -862,11 +868,11 @@ struct node_request_completed_command : command_data {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct node_start_command : command_data {
|
struct node_start_command : command_data {
|
||||||
bigtime_t performance_time;
|
bigtime_t performance_time;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct node_stop_command : command_data {
|
struct node_stop_command : command_data {
|
||||||
bigtime_t performance_time;
|
bigtime_t performance_time;
|
||||||
bool immediate;
|
bool immediate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user