summaryrefslogtreecommitdiffstats
path: root/audio
Commit message (Collapse)AuthorAgeFilesLines
* Set stream timer in avdtp_sep_set_state instead of avdtp_suspend_respJohan Hedberg2008-10-251-4/+6
| | | | | This ensures that the timer is not only set when we requested the suspend but also when the other side requested the suspend.
* Fix whitespace in function pointer declarationJohan Hedberg2008-10-241-1/+1
|
* Clear pending ring if calling is stopped before SCO is upJohan Hedberg2008-10-241-3/+12
|
* Use g_dbus_send_message instead of dbus_connection_sendJohan Hedberg2008-10-242-12/+6
|
* Make Headset.Play() succeed if there's a pending HFP triggered SCOJohan Hedberg2008-10-241-0/+4
|
* Fix manager_allow_headset_connection count checkJohan Hedberg2008-10-241-2/+4
|
* Don't set the ring timer twiceJohan Hedberg2008-10-241-0/+2
|
* No need to remove the ring timer twice in the terminate call caseJohan Hedberg2008-10-241-10/+0
|
* Also remove ring timer if the HF rejects the callJohan Hedberg2008-10-241-0/+10
|
* Remove the ring timer imediately when ATA is receivedJohan Hedberg2008-10-241-10/+4
|
* Ensure that SCO is up before sending RINGs for inband ringtoneJohan Hedberg2008-10-241-50/+84
|
* Remove bogus functionJohan Hedberg2008-10-241-5/+0
|
* Use g_clear_error(&err) instead of g_error_free(err); err = NULLJohan Hedberg2008-10-243-20/+10
|
* Limit the amount of connected HSP/HFP devices and make it configurableJohan Hedberg2008-10-244-0/+48
| | | | | | | | It's very tricky to get the multiple connected HSP/HFP devices use case right. E.g. in the case of in-band ringtone the specification mandates us to open SCO to the HFP before sending RING indications. So, in the case of multiple connected devices we would have to open multimple simultaneous SCO connections which simply isn't a wise thing to do.
* Return proper error replies in telephony-dummyJohan Hedberg2008-10-221-9/+15
| | | | | | Without this fix sending invalid arguments to telephony-dummy causes libgdbus to return NO_MEMORY to libdbus which in turn causes the method handler to be called in an infinite loop.
* Perform a proper abort upon stream connect failureJohan Hedberg2008-10-201-4/+8
|
* Get rid of unnecessary finalize*errno(setup, 0) callsJohan Hedberg2008-10-191-19/+6
|
* Respond to a stream setup request also on Start_IndJohan Hedberg2008-10-191-0/+9
| | | | | If the remote end sends a START_CMD while we're setting up the stream use it to notify the stream requestor (unix.c) of success.
* Check for existing STREAMING state when receiving START_RSPJohan Hedberg2008-10-191-1/+4
| | | | | | | This could happen if both peers send START_CMD at the same time and the SNK peer doesn't reject the command (as it should according to the spec). This behaviour can be seen e.g. when using pulseaudio and the Mororola S9 headset.
* Remove OPEN state change from avdtp_open_cmdJohan Hedberg2008-10-191-1/+0
| | | | | | | | | | | | Some time back the INT role OPEN transition was moved from receiving the OPEN response to actually having the stream L2CAP channel ready. Unfortunatly this patch forgot to change the ACP case so the code has so far attempted a double ->OPEN transition. According to the AVDTP spec the transition should happen before the stream L2CAP transport but this doesn't really make sense since several places want to have the stream fd ready when we go to the OPEN state. Therefore, this patch removes the ACP role OPEN transition from receiving the OPEN command and lets the state change be in having the stream L2CAP transport established.
* Implement better support for AT+CHLD=<n>Johan Hedberg2008-10-173-4/+30
|
* Add network timeout CME errorJohan Hedberg2008-10-171-0/+1
| | | | | This error code doesn't appear in the CME error table in the HFP spec but there are references to it in a couple of other places in the spec.
* Fix indentation levelsJohan Hedberg2008-10-163-36/+30
|
* Rename dbus_connection_emit_property_changed to emit_property_changedJohan Hedberg2008-10-163-41/+29
|
* Fix remaining places to use dict_append_entry tooJohan Hedberg2008-10-163-16/+9
|
* Make server_is_enabled simply use the config file values for nowJohan Hedberg2008-10-102-45/+21
| | | | | | | | There's something broken in the "profile enabled" logic at the moment which makes server_is_enabled return FALSE sometimes when it shouldn't which causes the necessary interface not to be added to remote device objects. Use simply the config file values for now since we don't support per-adapter server configuration anyway.
* Fix situation where avctp_disconnect is called while connectingJohan Hedberg2008-10-101-2/+12
| | | | | | | Previously the avctp session would be free'd and the connect callback would try to access this free'd memory. Now we detect this situation properly but the fundamental problem remains that the bt_l2cap_connect API doesn't allow aborting the connect procedure.
* Fix response and hold response logigJohan Hedberg2008-10-091-6/+7
|
* Implement operator selection (AT+COPS) supportJohan Hedberg2008-10-093-34/+86
|
* Clean up properly if stream starting failsJohan Hedberg2008-10-091-0/+6
| | | | | | | | Remove the stream state callback if stream start fails. Without this patch the callback could still be called after a unix client has disconnected which in turn would cause a double-free to occur. There is code to remove the callback also in client_free() but it won't work since we remove any references to the session and stream in the resume callback.
* Add mechanism for adding new UUIDs from the driver sideJohan Hedberg2008-10-094-34/+32
| | | | | | With this patch drivers can notify the core daemon that a device supports some UUID. This is useful in case we don't have a service record for a profile which the remote device initiates a connection for.
* Make device driver probe calls take UUID's instead of full recordsJohan Hedberg2008-10-094-62/+62
| | | | | This is preparation for allowing the device object to be correctly set up even when we don't have the full service records but only the remote UUID's.
* Check for NULL streamJohan Hedberg2008-10-091-0/+3
|
* Fix parameter passing to headset_set_stateJohan Hedberg2008-10-091-1/+1
|
* Check for headset connected state when unregisteringJohan Hedberg2008-10-081-0/+6
| | | | | | | | In theory a headset could be in a connected state when the driver for it gets unregistered. Do proper cleanup in this case (call headset_set_state(hs, DISCONNECTED)). Currently this happens even in practice due to a bug where we incorrectly assume that a device has removed a profile when in fact it's just hiding it while it's connected.
* Fix typoJohan Hedberg2008-10-081-1/+1
|
* Move dev->sink initialization as acceptor to correct placeJohan Hedberg2008-10-081-3/+19
| | | | | | | We can't initialize dev->sink in the AVDTP server callback since at this point we don't know if the remote device will be acting in audio source or audio sink role. So, do the initialization when we get the SetConfiguration command since then we can check the type of the SEP that was selected.
* Create audio device objects on incoming connections if necessaryJohan Hedberg2008-10-084-14/+34
| | | | | | If we haven't done SDP yet the data structures will be uninitialized. This patch makes sure that the structures are properly initialized if we get an incoming connection before service discovery has been done.
* Add separate function for creating new audio device objectsJohan Hedberg2008-10-082-9/+55
| | | | | This is needed in preparation of supporting remotely initated audio device pairing and connections (when we haven't done SDP to the remote device yet).
* Reject non-voice calls in headset.cJohan Hedberg2008-10-082-15/+16
| | | | | | Basicly reverts the previous commit since data calls just don't make sense with HFP. Check for proper voice call dial string and pass the number without the terminating semicolon to the telephony driver.
* Minor coding style fixJohan Hedberg2008-10-081-1/+1
|
* Properly extract the phone number from the ATD stringJohan Hedberg2008-10-081-1/+15
| | | | | | | Voice call ATD requests have a semicolon at the end of the string while data call requests don't. So detect this and don't copy the semicolon to the currently active number (possible sent back to the headset in subsequent operations).
* Fail cleanly if we don't have knowledge of a connecting deviceJohan Hedberg2008-10-081-5/+11
| | | | | | Without this fix we segfault if a device pairs and connects to us before we have completed service discovery to it. Underneath is a more fundamental problem of how we initialize our data structures and this still needs fixing.
* Fix use of uninitialized address variableJohan Hedberg2008-10-081-1/+2
|
* Don't do double g_io_channel_unref if btd_request_authorization failsJohan Hedberg2008-10-081-2/+2
|
* Fix channel mode string from dual to dual-channel.Luiz Augusto von Dentz2008-10-071-1/+1
|
* Fix channel mode string to joint-stereo.Luiz Augusto von Dentz2008-10-071-1/+1
|
* Send a proper reply to AT+CMEEJohan Hedberg2008-10-071-1/+1
|
* Assert that device->headset != NULL for each active deviceJohan Hedberg2008-10-071-0/+3
| | | | | | We got one segfault due to hs == NULL but I couldn't figure out how on earth in could happen. The best I can do right now is to have an assert to catch it instead of a direct segfault.
* Send a proper reply to call waiting notification requestJohan Hedberg2008-10-071-1/+1
|