• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"


  • Subject: Re: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"
  • From: John Westing <email@hidden>
  • Date: Tue, 09 Apr 2013 09:47:10 -0400

I was never able to find the document ISO/IEC 13818-3:2005, but ISO/IEC 14496-3:2005 contained the information I needed to decode AudioMuxElement(). It does seem however that Apple does not follow the RTP spec, RFC 3016, correctly though. Apple's Bluetooth Design Guidelines document states that: "The muxConfigPresent argument to the AudioMuxElement is set to 1 (in-band mode), as recommended in Section 4.1 of RFC 3016." And if you look at RFC 3016 it states that the RTP Marker Bit is used to specify muxConfigPresent, but in the Apple's case the RTP Market Bit received is always 0, which makes existing RTP LATM parsers unable to parse Apple's packet. Either an Apple-specific LATM parser must be written which assumes muxConfigPresent is always 1, or the bit must be set to 1 at higher level before passing to the LATM parser.



On Thu, Apr 4, 2013 at 4:40 PM, John Westing <email@hidden> wrote:
Shawn,

Did you ever find the answer to your question? I am stuck in a similar situation, but it sounds like you have gotten further than me. I don't understand the explanation of the packet header given in https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf, and like you I can't find a document titled ISO/IEC 13818-3:2005, the latest version I could find was from 1998.

If the AVDTP header is the header found in Figure 4 of RFC 3016 then the RTP Market Bit (audioMuxElement for LATM) should always be 1 according to the Bluetooth Design Guidelines PDF. I'm not seeing that, I decoded the data with Wireshark (v1.9.2) and the bit is always 0.

Do I have something configured wrong? How did you figure out how to bypass the RTP header and get to the AAC audio? I took a look at the document you mentioned, ISO/IEC 14496-3:2005, but it looks like this document gives an algorithm for decoding the packet and does not give the actual breakdown of fields in the packet.

I'm trying to use built-in GStreamer elements to decode the RTP but I'm not having any luck. I'm wondering if I need to write own GStreamer plugin. I tried the rtpmp4adepay element to decode the data but the element gets hung waiting for the Market Bit/audioMuxElement bit.

Any help is appreciated.

Thanks,
Sam


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"
      • From: John Westing <email@hidden>
References: 
 >RE: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products" (From: John Westing <email@hidden>)

  • Prev by Date: Re: UUID across Factory Reset
  • Next by Date: BT accessory
  • Previous by thread: RE: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"
  • Next by thread: Re: A2DP with AAC codec: non-existent document reference in the "Bluetooth Accessory Design Guidelines for Apple Products"
  • Index(es):
    • Date
    • Thread