MediaClient: Just some interface review

This commit is contained in:
Dario Casalinuovo
2016-12-06 21:16:36 +01:00
parent ae7d265575
commit f1f0956504
9 changed files with 46 additions and 36 deletions
+5 -3
View File
@@ -35,7 +35,7 @@ public:
BMediaClient(const char* name,
media_type type
= B_MEDIA_UNKNOWN_TYPE,
media_client_kind
media_client_kinds
kind = B_MEDIA_PLAYER
& B_MEDIA_RECORDER);
@@ -43,8 +43,10 @@ public:
const media_client& Client() const;
media_client_id Id() const;
const char* Name() const;
// Return the capabilities of this BMediaClient instance.
media_client_kind Kind() const;
media_client_kinds Kinds() const;
media_type MediaType() const;
status_t InitCheck() const;
@@ -55,7 +57,7 @@ public:
// When those functions return, the BMediaConnection is added to the
// list and is visible to other nodes as not connected. Any input/output
// should be registered to a BMediaNode to become something useful.
// should be registered to a BMediaClient to become something useful.
virtual status_t RegisterInput(BMediaInput* input);
virtual status_t RegisterOutput(BMediaOutput* output);
+10 -10
View File
@@ -13,13 +13,13 @@
namespace BPrivate { namespace media {
typedef int32 media_client_id;
typedef int32 media_client_kind;
typedef int32 media_connection_kind;
typedef int32 media_connection_id;
typedef uint64 media_client_id;
typedef uint64 media_client_kinds;
typedef uint64 media_connection_kinds;
typedef uint64 media_connection_id;
enum media_client_kinds {
enum media_client_kind {
// The client can receive media data.
B_MEDIA_RECORDER = 0x000000001,
// The client can send media data to another client.
@@ -28,7 +28,7 @@ enum media_client_kinds {
B_MEDIA_CONTROLLABLE = 0x000000004
};
enum media_connection_kinds {
enum media_connection_kind {
B_MEDIA_INPUT = 0,
B_MEDIA_OUTPUT = 1
};
@@ -36,12 +36,12 @@ enum media_connection_kinds {
typedef struct media_client {
media_client_id Id() const;
media_client_kind Kind() const;
media_client_kinds Kinds() const;
BMessage* ToMessage();
private:
media_client_kind kind;
media_client_kinds kinds;
media_node node;
uint32 padding[16];
@@ -54,7 +54,7 @@ private:
typedef struct media_connection {
media_connection_id Id() const;
media_connection_kind Kind() const;
media_connection_kinds Kinds() const;
const media_client& Client() const;
@@ -86,7 +86,7 @@ private:
media_format format;
char name[B_MEDIA_NAME_LENGTH];
media_connection_kind kind;
media_connection_kinds kinds;
uint32 padding[16];
friend class BMediaClient;
+4 -3
View File
@@ -30,11 +30,11 @@ public:
virtual ~BMediaConnection();
const media_connection& Connection() const;
BMediaClient* Client() const;
media_connection_id Id() const;
const char* Name() const;
BMediaClient* MediaClient() const;
bool IsInput() const;
bool IsOutput() const;
@@ -68,7 +68,8 @@ public:
status_t Release();
protected:
BMediaConnection(media_connection_kind kind);
BMediaConnection(
media_connection_kinds kinds);
// Those callbacks are shared between BMediaInput and BMediaOutput
virtual void Connected(const media_format& format);
+2 -2
View File
@@ -35,8 +35,8 @@ public:
BSimpleMediaClient(const char* name,
media_type type
= B_MEDIA_UNKNOWN_TYPE,
media_client_kind
kind = B_MEDIA_PLAYER
media_client_kinds
kinds = B_MEDIA_PLAYER
& B_MEDIA_RECORDER);
virtual ~BSimpleMediaClient();