|
The Generic Audio/Video Distribution Profile (GAVDP)
defines a generic part of the protocols and procedures that realize
distribution of audio content and/or video content using ACL channels. The
profile specifies signalling transaction procedures between two devices to
set up, terminate and reconfigure streaming channels. Streaming parameters
and encode/decode features are included in Advanced Audio Distribution
Profile and Video Distribution Profile that depend on this profile. Note:
It is not allowed to use the Generic Audio/Video Distribution Profile
alone; it is required to use GAVDP in combination with profiles that
depend on this profile.
For more details : Download the GAVDP Profile from the Bluetooth.org
website.

Image reprinted from Bluetooth GAVDP Profile, Figure
2.1
The Baseband, LMP, L2CAP,
and SDP are Bluetooth protocols defined in the
Bluetooth Core specifications. AVDTP consists of a signalling entity for
negotiation of streaming parameters and a transport entity that handles
the streaming.
The following roles are defined for devices that
implement this profile:
This is the device that initiates a
signalling procedure.
Acceptor (ACP) – This is the device that shall respond to an
incoming request from the INT.
Note that the roles are not fixed to the devices.
The roles are determined when the user initiates a signalling
procedure defined below, and they are released when the procedure
ends. The roles can be switched between two devices when a new procedure
is initiated.
The following scenarios are covered by this profile:
- Set up two devices for A/V data streaming that flows from one end to
another, and then connect these devices with Bluetooth transaction.
- Control the established streaming.
This profile is based on Bluetooth v.1.1
specification. Here is a brief summary of the interactions that take place
when the INT wishes to send messages to the ACP.
- A link shall be established before a signalling session starts.
- There are no fixed master/slave roles.
- Use of security features in link level such as authorisation,
authentication and encryption are optional. Support for authentication
and encryption is mandatory, such that the device can take part in the
corresponding procedures if requested from a peer device.
If conformance to this profile is claimed, all
capabilities indicated mandatory for this profile shall be supported in
the specified manner (process-mandatory). This also applies to all
optional and conditional capabilities for which support is indicated.
This section describes the feature requirements on
units complying with the GAVDP. There is no fixed INT/ACP role
for the devices.

Image reprinted from Bluetooth GAVDP Profile, Table
3-1
The interoperability requirements for the signalling
entity are contained in this section.In use of AVDTP the following three
states are exposed to the users of GAVDP:
- <IDLE>: The initial state where no streaming connection has
been established, while L2CAP channel for signalling is already open.
- <OPEN>: The streaming connection has been established between
two devices.
- <STREAMING>: Both devices are ready for streaming.
The figure below shows the possible transitions.Note: The Security
Control procedure can be executed in <OPEN> and
<STREAMING> and does not result in a state change.

Image reprinted from Bluetooth GAVDP Profile, Figure
4.1
Connection Establishment:
- This procedure shall be used when a device wishes to establish a
streaming connection with the other device. Prior to initiating this
procedure, an L2CAP channel for signalling shall be established. The
initial state of the both devices is <IDLE>. Then, the INT shall
initiate Stream Endpoint (SEP) Discovery procedure of AVDTP if
the INT has not collected SEP information before, or wishes to
refresh it.Then, Get Capabilities procedure of AVDTP should be
initiated to collect service capabilities of the ACP using the
SEP information. This procedure does not have to be executed when the INT
already knows the services provided by the ACP.
-
- Based on collected SEP information and service capabilities, the INT
shall select specific services and configure the ACP by
using the Stream Configuration procedure defined in AVDTP.
Then, L2CAP channels are established as defined in the Stream Establishment
procedure in AVDTP. Finally, the states of both devices are set at
<OPEN>, and the INT/ACP roles are released after
the procedure.
-
- Note: If the L2CAP channel establishment has failed after the
Open Stream Command of AVDTP, it is recommended to perform the Abort
Command of AVDTP to get both ACT and INT synchronised.
-
- To start a stream, the Start Streaming procedure below shall
be initiated to confirm if both devices are ready for streaming and
change the state from <OPEN> to <STREAMING>.
Start Streaming
- When the device wishes to start or resume the A/V streaming, this
procedure shall be initiated to change the state from <OPEN> to
<STREAMING> .The INT initiates Start Streaming procedure
of AVDTP by a user initiated action or an internal event. The
streaming shall be started/resumed after this procedure.
Connection Release
- The INT initiates the Stream Release procedure of
AVDTP to release L2CAP channels for streaming. This procedure may be
initiated both from <OPEN> and <STREAMING>, and set the
state at <IDLE> for both devices. The L2CAP channel for
signalling may be released after this procedure, if necessary.
Suspend
- When the device wishes to suspend the A/V streaming, the procedure
shall be initiated to change the state from <STREAMING> to
<OPEN>. The INT initiates Stream Suspend procedure
of AVDTP by a user initiated action or an internal event. The
streaming shall be suspended after the procedure.
Change Parameters
- In order to change the application service parameters, both devices
shall be in <OPEN> state. If the state is <STREAMING> the Suspend
procedure above shall be executed beforehand to suspend the stream
and change the state to <OPEN> for both devices.
-
- The procedure is initiated by a user action or an internal event. If
the INT has not obtained service capability information of the ACP
by then, the Get Capabilities procedure of AVDTP is
executed first. Then, the INT selects and specifies new
parameters according to the information and requests the ACP to
reconfigure these parameters with the Stream Reconfigure procedure
of AVDTP.After closing this procedure, the state of the devices
remains <OPEN>. It is necessary to initiate Start Streaming procedure
above to resume the stream.
Signalling Control
- This procedure may be used to recover from a loss of a signalling
message, which could result in inconsistency of the INT and the
ACP.
Security Control
- The procedure outlined in the GAVDP Profile, Figure 4-8 shall be
used to exchange security control messages between the INT and
the ACP.
AVDTP Signalling Procedures Overview
- Table 4-1 of the GAVDP defines the required AVDTP signalling
procedures in the Generic Audio/Video Distribution profile.
Once a stream connection is established between the INT
and the ACP, the devices are ready to transport A/V data. AVDTP
provides several transport services related to basic transport, quality of
service and manipulation of transport packets for efficient use of the
bandwidth.
The necessity of these transport services depends on
applications. The requirement of these services is described in the
application profiles such as Advanced Audio Distribution Profile.
Table 4-2 in the GAVDP Profile defines an 8-bits
ERROR_CODE field that is transported over the air in signalling response
messages when an ACP device rejects a signalling command message received
from a distant INT device. The ERROR_CODE field received from an ACP
device is exposed to the INT application through the AVDTP service
interface. The range 0xC0-0xFF is reserved for the profile residing on top
GAVDP.
In this profile, only connection-oriented channels
shall be used. This implies that broadcasts shall not be used in this
profile. The AVDTP PSM value is used in the L2CAP connection request. See
the Bluetooth Assigned Numbers for the AVDTP PSM.
Only the INT issues an L2CAP Connection
Request within the execution of Connection Establishment procedure
in this profile. The GAVDP does not impose any additional
restrictions or requirements on L2CAP signalling.
This section describes the usage of
configuration options in this profile.
- Maximum Transmission Unit (MTU) : The minimum MTU that a
L2CAP implementation for this profile shall support is 48 bytes.
- Reliability : The flush timeout value shall be defined in the
profiles dependent on GAVDP.
- Quality of Service : Negotiation of Quality of Service is
optional in this profile.
The procedure for SCO links is excluded in this
profile. Except for this, there is no change to the requirements as stated
in the Link Manager specification itself.
Table 7.1 on the GAVDP Profile, lists all
features on the LC level, as well as the extra requirements added to the
Baseband specification by this profile.
The GAVDP requires compliance to the Generic Access
Profile. Section 8 of the actual GAVDP defines the support requirements
with regards to procedures and capabilities defined in the Generic Access
Profile. This shows
- the support status for modes within this profile
- the support status for idle mode procedures within this profile.
There is no change to the Security Aspects
requirements as stated in the Generic Access Profile.
Note , the above text contains excerpts from the Bluetooth
SIG's Specification, as well as various interpretations of the Specs. For
complete details of the various sections, consult the actual Bluetooth
Specification.
|