public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: BlueZ Mailing List <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] AVDTP socket?
Date: Fri, 19 Nov 2004 18:39:19 +0100	[thread overview]
Message-ID: <1100885959.7213.31.camel@pegasus> (raw)
In-Reply-To: <1100883199.7213.27.camel@pegasus>

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

Hi Brad,

> > I still have to break the stream into chunks and put the payload header 
> > on them (a2dp p.24).
> 
> but the boundary don't cares. I see that in the trace. You can break the
> SBC file where you want and add the media header.

actually like with the attached patch. Most of the example *.sbc files
are working. Some of them are not working and this is maybe because the
frame header information don't matches the SBC configuration. Or maybe
hcidump is decoding this wrong.

Regards

Marcel


[-- Attachment #2: patch --]
[-- Type: text/x-patch, Size: 2395 bytes --]

Index: a2play.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2play.c,v
retrieving revision 1.10
diff -u -r1.10 a2play.c
--- a2play.c	19 Nov 2004 08:50:54 -0000	1.10
+++ a2play.c	19 Nov 2004 17:32:36 -0000
@@ -285,7 +285,7 @@
   return psm;
 }
 
-int do_connect(char *svr, int psm, int linger, int reliable)
+int do_connect(char *svr, int psm, int linger, int reliable, uint16_t *mtu)
 {
   struct sockaddr_l2 rem_addr, loc_addr;
   struct l2cap_options opts;
@@ -359,6 +359,9 @@
   fprintf(stderr, "Connected [imtu %d, omtu %d, flush_to %d]\n",
          opts.imtu, opts.omtu, opts.flush_to);
   
+  if (mtu)
+    *mtu = opts.omtu;
+
   return s;
 }
 
@@ -482,6 +485,7 @@
   bdaddr_t local;
   bdaddr_t bdaddr;
   int psm_cmd, psm_stream;
+  uint16_t mtu, seq_num;
 
   char *addrstr;
   char *filename;
@@ -538,7 +542,7 @@
   sigaction(SIGCHLD, &sa, NULL);
   sigaction(SIGPIPE, &sa, NULL);
   
-  s = do_connect(addrstr, psm_cmd, 0, 0);
+  s = do_connect(addrstr, psm_cmd, 0, 0, NULL);
   if(s < 0) {
     fprintf(stderr, "cannot open psm_cmd = %d\n", psm_cmd);
     exit(-1);
@@ -572,7 +576,8 @@
 
   // open the stream l2cap
 
-  streamfd = do_connect(addrstr, psm_stream, 0, 0);
+  mtu = 48;
+  streamfd = do_connect(addrstr, psm_stream, 0, 0, &mtu);
   if(streamfd < 0) {
     fprintf(stderr, "cannot open psm_stream = %d\n", psm_stream);
     exit(-1);
@@ -607,16 +612,38 @@
 
   char buf[BUFS];
 
+  if (mtu > BUFS)
+    mtu = BUFS;
+
   // TODO remove
-  terminate = 1;
+  terminate = 0;
+
+  seq_num = 1;
+  memset(buf, 0, 12);
+  buf[0] = 0x80;
+  buf[2] = seq_num >> 8;
+  buf[3] = seq_num & 0xff;
+  buf[12] = 0x0ff;
+  buf[13] = 0x0ff;
+  memcpy(buf + 14, &sbc_info, sizeof(sbc_info));
+  size = read(fd, buf + 14 + sizeof(sbc_info), mtu - sizeof(sbc_info) - 14);
+  write(streamfd, buf, size + 14 + sizeof(sbc_info));
+  seq_num++;
 
   while(!terminate) {
-    size = read(fd, &buf, BUFS);
+    memset(buf, 0, 12);
+    buf[0] = 0x80;
+    buf[2] = seq_num >> 8;
+    buf[3] = seq_num & 0xff;
+    buf[12] = 0xff;
+    buf[13] = 0xff;
+    size = read(fd, buf + 14, mtu - 14);
+    seq_num++;
     if(size <= 0) {
       terminate = 1;
     } else {
       // framing, fragmenting, a2dp headers: avdtp p.45 and a2dp spec p.23
-      write(streamfd, buf, size);
+      write(streamfd, buf, size + 14);
     }
   }
 

  reply	other threads:[~2004-11-19 17:39 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-07  5:36 [Bluez-devel] AVDTP socket? Brad Midgley
2004-11-07 12:27 ` Marcel Holtmann
2004-11-07 16:34   ` Brad Midgley
2004-11-07 16:54     ` Marcel Holtmann
2004-11-07 18:55       ` Brad Midgley
2004-11-07 21:33         ` Marcel Holtmann
2004-11-10  5:46           ` Brad Midgley
2004-11-10  8:47             ` Marcel Holtmann
2004-11-10 18:01               ` Brad Midgley
2004-11-10 18:57                 ` Marcel Holtmann
2004-11-12 23:13                   ` Brad Midgley
2004-11-13  0:38                     ` Marcel Holtmann
2004-11-13  3:13                       ` Brad Midgley
2004-11-13 13:06                         ` Marcel Holtmann
2004-11-14  7:54                           ` Brad Midgley
2004-11-14 15:29                             ` Marcel Holtmann
2004-11-17 15:47                               ` Brad Midgley
2004-11-17 15:52                                 ` Marcel Holtmann
2004-11-17 19:52                                   ` Brad Midgley
2004-11-17 20:01                                     ` Marcel Holtmann
2004-11-18 13:27                                 ` Henryk Plötz
2004-11-18 15:26                                   ` Brad Midgley
2004-11-18 19:11                                     ` Marcel Holtmann
2004-11-19 18:32                                     ` Henryk Plötz
2004-11-19 21:40                                       ` Brad Midgley
2004-11-18 23:59                                   ` Marcel Holtmann
2004-11-19  9:03                                     ` Brad Midgley
2004-11-19 11:41                                       ` Marcel Holtmann
2004-11-19 16:35                                         ` Brad Midgley
2004-11-19 16:53                                           ` Marcel Holtmann
2004-11-19 17:39                                             ` Marcel Holtmann [this message]
2004-11-19 20:45                                               ` Marcel Holtmann
2004-11-19 21:20                                                 ` Henryk Plötz
2004-11-19 21:33                                                   ` Marcel Holtmann
2004-11-19 23:58                                                     ` Henryk Plötz
2004-11-19 21:51                                                 ` Brad Midgley
2004-11-19 22:04                                                   ` Marcel Holtmann
2004-11-19 23:23                                                     ` Brad Midgley
2004-11-20  0:09                                                       ` Marcel Holtmann
2004-11-20  0:04                                                     ` Henryk Plötz
2004-11-20  0:43                                                       ` Marcel Holtmann
2004-11-20  0:50                                                         ` Henryk Plötz
2004-11-20  5:04                                                           ` Marcel Holtmann
2004-11-19 18:44                                       ` Henryk Plötz
2004-11-19 18:38                                     ` Henryk Plötz
2004-11-19 18:56                                       ` Marcel Holtmann
2004-11-19 21:06                                         ` Henryk Plötz
2004-11-19 21:23                                           ` Marcel Holtmann
2004-11-21  5:46                                   ` Henryk Plötz
2004-11-21 17:44                                     ` Marcel Holtmann
2004-11-22  3:18                                       ` Marcel Holtmann
2004-11-22  4:32                                         ` Henryk Plötz
2004-11-22 13:28                                           ` Marcel Holtmann
2004-11-23  0:53                                             ` Henryk Plötz
2004-11-23  6:22                                               ` Marcel Holtmann
2004-11-22  4:22                                     ` [Bluez-devel] sbc reindent Brad Midgley
2004-11-15  8:24                         ` [Bluez-devel] AVDTP socket? Sebastien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1100885959.7213.31.camel@pegasus \
    --to=marcel@holtmann.org \
    --cc=bluez-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox