/* * Copyright 2015, Dario Casalinuovo. All rights reserved. * Distributed under the terms of the MIT License. */ #include #include #include "MediaClientNode.h" #include "MediaDebug.h" BMediaConnection::BMediaConnection(media_connection_kinds kinds, const char* name) : fOwner(NULL), fBind(NULL) { CALLED(); fConnection.kinds = kinds; fConnection.id = -1; //fConnection.client = media_client::null; if (name != NULL) strcpy(fConnection.name, name); } BMediaConnection::~BMediaConnection() { CALLED(); } const media_connection& BMediaConnection::Connection() const { return fConnection; } BMediaClient* BMediaConnection::Client() const { return fOwner; } const char* BMediaConnection::Name() const { return fConnection.name; } bool BMediaConnection::HasBinding() const { CALLED(); return fBind != NULL; } BMediaConnection* BMediaConnection::Binding() const { CALLED(); return fBind; } bool BMediaConnection::IsConnected() const { CALLED(); return fConnected; } status_t BMediaConnection::Disconnect() { CALLED(); return fOwner->_DisconnectConnection(this); } status_t BMediaConnection::Release() { CALLED(); status_t ret = fOwner->_ReleaseConnection(this); if (ret != B_OK) return ret; delete this; return ret; } void BMediaConnection::Connected(const media_format& format) { // Update the status of our connection format. fConnection.format = format; fConnected = true; } void BMediaConnection::Disconnected() { CALLED(); fConnected = false; } void BMediaConnection::_ConnectionRegistered(BMediaClient* owner, media_connection_id id) { fOwner = owner; fConnection.id = id; fConnection.client = fOwner->Client(); if (fConnection.IsOutput()) { fConnection.source.port = fOwner->fNode->ControlPort(); fConnection.source.id = fConnection.id; fConnection.destination = media_destination::null; } else { fConnection.destination.port = fOwner->fNode->ControlPort(); fConnection.destination.id = fConnection.id; fConnection.source = media_source::null; } } const media_source& BMediaConnection::_Source() const { return fConnection.source; } const media_destination& BMediaConnection::_Destination() const { return fConnection.destination; } void BMediaConnection::_ReservedMediaConnection0() {} void BMediaConnection::_ReservedMediaConnection1() {} void BMediaConnection::_ReservedMediaConnection2() {} void BMediaConnection::_ReservedMediaConnection3() {} void BMediaConnection::_ReservedMediaConnection4() {} void BMediaConnection::_ReservedMediaConnection5() {} void BMediaConnection::_ReservedMediaConnection6() {} void BMediaConnection::_ReservedMediaConnection7() {} void BMediaConnection::_ReservedMediaConnection8() {} void BMediaConnection::_ReservedMediaConnection9() {} void BMediaConnection::_ReservedMediaConnection10() {} BMediaInput::BMediaInput(const char* name) : BMediaConnection(B_MEDIA_INPUT, name) { } BMediaInput::~BMediaInput() { CALLED(); } void BMediaInput::HandleBuffer(BBuffer* buffer) { CALLED(); } void BMediaInput::Connected(const media_format& format) { BMediaConnection::Connected(format); } void BMediaInput::Disconnected() { BMediaConnection::Disconnected(); } void BMediaInput::_ReservedMediaInput0() {} void BMediaInput::_ReservedMediaInput1() {} void BMediaInput::_ReservedMediaInput2() {} void BMediaInput::_ReservedMediaInput3() {} void BMediaInput::_ReservedMediaInput4() {} void BMediaInput::_ReservedMediaInput5() {} void BMediaInput::_ReservedMediaInput6() {} void BMediaInput::_ReservedMediaInput7() {} void BMediaInput::_ReservedMediaInput8() {} void BMediaInput::_ReservedMediaInput9() {} void BMediaInput::_ReservedMediaInput10() {} BMediaOutput::BMediaOutput(const char* name) : BMediaConnection(B_MEDIA_OUTPUT, name), fBufferGroup(NULL) { } BMediaOutput::~BMediaOutput() { CALLED(); } status_t BMediaOutput::SendBuffer(BBuffer* buffer) { CALLED(); if (!IsConnected()) return B_ERROR; return fOwner->fNode->SendBuffer(buffer, this); } void BMediaOutput::Connected(const media_format& format) { BMediaConnection::Connected(format); } void BMediaOutput::Disconnected() { BMediaConnection::Disconnected(); } bool BMediaOutput::_IsEnabled() const { CALLED(); return fEnabled; } void BMediaOutput::_SetEnabled(bool enabled) { fEnabled = enabled; } void BMediaOutput::_ReservedMediaOutput0() {} void BMediaOutput::_ReservedMediaOutput1() {} void BMediaOutput::_ReservedMediaOutput2() {} void BMediaOutput::_ReservedMediaOutput3() {} void BMediaOutput::_ReservedMediaOutput4() {} void BMediaOutput::_ReservedMediaOutput5() {} void BMediaOutput::_ReservedMediaOutput6() {} void BMediaOutput::_ReservedMediaOutput7() {} void BMediaOutput::_ReservedMediaOutput8() {} void BMediaOutput::_ReservedMediaOutput9() {} void BMediaOutput::_ReservedMediaOutput10() {}