summaryrefslogtreecommitdiff
path: root/libdleyna
Commit message (Collapse)AuthorAgeFilesLines
* Changed the Copyright to 2017Rick Bell2017-02-2716-16/+16
|
* Fix for issue #161 -- Uninitialized argument value in prv_open_uri_cbljsachs-patch-1ljsachs2016-10-121-0/+2
|
* Avoid any attempts to delete the same dlr_upnp_t twiceDebarshi Ray2016-09-151-0/+1
| | | | | | | It is a good idea to NULLify g_context.upnp to avoid any possibility of a crash due to double-free. https://bugzilla.redhat.com/show_bug.cgi?id=1251366
* Used core functionality dleyna_core_prv_convert_udn_to_path for persistent pathRick Bell2015-05-011-48/+3
|
* Merge pull request #132 from lferrandis/uidRick Bell2015-04-213-9/+54
|\ | | | | Uid
| * to fix upLudovic Ferrandis2013-09-171-7/+49
| | | | | | | | Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
| * [Deprecated API] Use new API instead of deprecatedLudovic Ferrandis2013-09-161-2/+2
| | | | | | | | | | | | Use instead gssdp_client_get_host_ip of gupnp_context_get_host_ip Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
| * [Path] Make object paths stable across restartsLudovic Ferrandis2013-09-163-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix issue #114: <https://github.com/01org/dleyna-renderer/issues/114> Root paths for servers were builded using an incremental counter, based of the discovery order made by GSSDP: Results were of this form: /com/intel/dLeynaRenderer/server/0 /com/intel/dLeynaRenderer/server/1 Object paths were builded on these root paths: /com/intel/dLeynaRenderer/server/0/xxxxxxxxxx There is no persistence between restarts of dleyna because we can't assign the same index to the same server. To fix this issue, we replace the volatile part of the root path, id the index, by a non volatile and unique part, id the server udn. The server udn is a string of this form: "uuid:<uuid string>" <uuid string> is defined by RFC 4122(<http://www.ietf.org/rfc/rfc4122.txt> and it's composed only with hex digit and char '-' To make the path compatible with dbus and 'reversible': 1 - remove the prefix 'uuid:' 2 - convert '-' char to '_' char Result is of the form below: /com/intel/dLeynaRenderer/server/99951d71_23d5_5525_94eb_a4aa78a98211 This path is stable accross dleyna restart and identify uniquely a server. This can be sued to save object path and to use them after multiple restart of the server and dLeyna. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* | Ensure that g_context.watchers has a valid valueDebarshi Ray2015-03-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | Since g_context.watchers is an unsigned integer, we should be careful not to decrement it below zero. This can happen if the service is spawned as a result of the following command: $ gdbus call \ --session \ --dest com.intel.dleyna-renderer \ --object-path /com/intel/dLeynaRenderer \ --method com.intel.dLeynaRenderer.Manager.Release
* | [Deprecated API] Use new API instead of deprecatedLudovic Ferrandis2014-07-111-2/+2
| | | | | | | | | | | | | | | | | | | | Use gssdp_client_get_host_ip() instead of gupnp_context_get_host_ip() Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com> Fixes #148. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | [Device] Free dlna class strings after useJussi Kukkonen2014-07-071-5/+1
| | | | | | | | | | | | | | | | | | | | Ownership of strings in the GList that gupnp_device_info_list_dlna_device_class_identifier () returns is fully transferred since GUPnP 0.20.4. Free the strings after use. Fixes #129. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | host-service: use push-host-port setting for the web serverJussi Kukkonen2014-07-076-5/+18
| | | | | | | | | | | | | | The push-host-port configuration value will be used for the webservers used to implement the Push Host functionality. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | upnp: use port setting when creating GUPnPContextManagerJussi Kukkonen2014-07-074-1/+7
| | | | | | | | | | | | | | | | Bumps dleyna-core dependency to 0.5. Fixes #141. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | [Autoconf] Add Math lib to linkLudovic Ferrandis2014-07-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add Math library to the link command - Update the compiler flags to enable the check of undefined function at link time. It seems the option '-no-undefined' pass in libdleyna_renderer_1_0_la_LDFLAGS is not enough. It seems using libtool, this option should be set to the compiler flags. Fix issue #117: Missing Math library to the link command <https://github.com/01org/dleyna-renderer/issues/117> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com> Fixes #124 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | [Autoconf] Sub Makefile: Remove ACLOCAL_AMFLAGSLudovic Ferrandis2014-07-071-2/+0
| | | | | | | | | | | | | | | | | | | | According to Automake.pdf: ACLOCAL_AMFLAGS: This variable is only useful in the top-level ‘Makefile.am’. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com> Fixes #124. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | [Device] Update playspeed when rate is setJussi Kukkonen2014-06-231-1/+12
| | | | | | | | | | | | | | | | | | Modify renderer playback speed when org.mpris.MediaPlayer2.Player.Rate is changed when the renderer is playing. Fix issue #143: <https://github.com/01org/dleyna-renderer/issues/143> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* | [Configuration] Remove libdleyna-renderer .pc fileLudovic Ferrandis2013-12-122-18/+4
| | | | | | | | | | | | Fix issue #108: <https://github.com/01org/dleyna-renderer/issues/108> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* | [Property] Add 'Never Quit' property to ManagerLudovic Ferrandis2013-10-033-2/+49
| | | | | | | | | | | | | | It is now possible to manage the 'Never Quit' option via the Set() methode. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* | [Network Filtering] New API and saveLudovic Ferrandis2013-10-035-250/+244
| | | | | | | | | | | | | | | | - Remove all WhiteListxxx API - Add Set() to 'org.freedesktop.DBus.Properties' interface to 'com.intel.dLeynaRenderer.Manager' root interface Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* | [Memory Leak] Partial fix for bug 129Mark Ryan2013-09-261-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/01org/dleyna-renderer/issues/129 This commit attempts to partially fix bug 129. It cannot be completely fixed at the moment due to a bug in GUPnP. https://bugzilla.gnome.org/show_bug.cgi?id=708751 At least we're freeing the list now, if not the strings that it contains. Also, to reduce the effect of the memory leak, this commit ensures that it only happens once per renderer rather than once each time we receive an event from a renderer. The assumption is that a device will not dynamically change the DLNA classes that it supports. Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
* | [Tasks] Fix a memory leakRegis Merlino2013-09-191-0/+3
| | | | | | | | | | | | Fixes https://github.com/01org/dleyna-collabora-android/issues/58 Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* | [Device] Check X_DLNA_GetBytePositionInfo action availabilityChristophe Guiraud2013-09-172-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Introspection is used to check if the UPnP X_DLNA_GetBytePositionInfo action is supported. If it is not supported we skip its call when we retrieve all the properties. X_DLNA_GetBytePositionInfo doesn't seem to be widely supported by renderer devices. Partial fix for issue: https://github.com/01org/dleyna-renderer/issues/115 Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* | [Device] Fix dlr_device_seek implementationChristophe Guiraud2013-09-171-7/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dlr_device_seek was incorrectly implemented. Modify the current implemention to retrieve the current position with the right method depending on the unit (time or byte) and add it to the delta specified in Seek request, and then call dlr_device_set_position(). so now we have: - TIME SEEK OPERATIONS Seek(offset) -> current_position = UPNP GetPositionInfo["RelTime"] -> UPNP Seek["REL_TIME", current_position + offset] SetPosition(position) -> UPNP Seek["REL_TIME", position] - BYTE SEEK OPERATIONS ByteSeek(offset) -> current_position = UPNP X_DLNA_GetBytePositionInfo["RelByte"] -> UPNP Seek["X_DLNA_REL_BYTE", current_position + offset] SetBytePosition(position) -> UPNP Seek["X_DLNA_REL_BYTE", position] Partial fix for issue: https://github.com/01org/dleyna-renderer/issues/115 Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* | [Device] Fix DLR_INTERFACE_PROP_BYTE_POSITION retrievalChristophe Guiraud2013-09-171-92/+236
| | | | | | | | | | | | | | | | | | | | | | | | DLR_INTERFACE_PROP_BYTE_POSITION is now assigned with the result of a call to upnp action X_DLNA_GetBytePositionInfo[RelByte] instead of upnp action GetPositionInfo[RelCount]. Partial fix for issue: https://github.com/01org/dleyna-renderer/issues/115 Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* | [Device] Fix dlr_device_set_position implementationChristophe Guiraud2013-09-161-2/+2
|/ | | | | | | | | | | | | dlr_device_set_position is incorrectly implemented. now we use the REL_TIME unit for Time based Seeking instead of ABS_TIME unit and the X_DLNA_REL_BYTE unit for Byte Seeking instead of ABS_COUNT unit. Partial fix for issue: https://github.com/01org/dleyna-renderer/issues/115 Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [PushHost] Use GUPnP Mime Type if availableChristophe Guiraud2013-09-131-41/+62
| | | | | | | | | | | when hosting a file, we now use the mime type reported by GUPnP-DLNA when available, and we fallback to the g_content_type_guess one if it is not available. Fix issue #120 https://github.com/01org/dleyna-renderer/issues/120 Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Control Point] Get control point versionRegis Merlino2013-09-111-1/+7
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Release] Version 0.2.2v0.2.2Regis Merlino2013-08-221-1/+1
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Network Filtering] Add Network Filtering supportLudovic Ferrandis2013-08-2210-21/+659
| | | | | | | | | | | | | | | | | Add 2 new settings: 1 - netf_enabled (boolean): To activate or deactivate the network filtering 2 - netf_entries (str list): List of supported network Add org.freedesktop.DBus.Properties DBUS Interface to com.intel.dLeynaRenderer.Manager root object. Add 4 new methodes to com.intel.dLeynaRenderer.Manager interface 1 - WhiteListEnable 2 - WhiteListAddEntries 3 - WhiteListRemoveEntries 4 - WhiteListClear Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [API] Use object paths in LostRenderer and FoundRendererJussi Kukkonen2013-08-211-4/+4
| | | | | | | | LostRenderer and FoundRenderer signals should have object path output parameters (instead of string). Documentations refers to paths already. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [API] Return object paths in GetRenderers() as documentedJussi Kukkonen2013-08-213-4/+4
| | | | | | | | | GetRenderers() should return object paths instead of strings (documentation already claims it does). Fixes #110. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [Coding Convention] Fix tabulationLudovic Ferrandis2013-08-081-1/+1
| | | | Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Task] Use string constant for Open/Set URILudovic Ferrandis2013-08-082-19/+32
| | | | | | | | Define string constants for action and parameters, for Open/Open Next/Set URI API instead of duplicating the strings parameters. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Build] Ship the internal library in a private directoryEmanuele Aina2013-08-082-2/+2
| | | | | | | | | | The libdleyna-renderer-1.0.so library is not really meant for public consumption and it's just an internal implementation detail. To prevent any confusion, ship it in a package-specific subdirectory of the configured libdir. Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
* [Debug] Print the error message on failed tasks, not just the pointerEmanuele Aina2013-08-071-1/+2
| | | | Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
* [Player] Fix OpenUri() after changes in commit bea7776Emanuele Aina2013-08-071-1/+3
| | | | | | | | | | | | | Commit bea7776 introduced a generic mechanism in dlr_task_open_uri_t where callers are supposed to set the desired operation and URI type in the stask data struct, but OpenUri() was not updated to do so. Calls to OpenUri() would then result in calls to gupnp_service_proxy_begin_action() with a NULL operation in dlr_device_open_uri(), which would not trigger the callback at all and ultimately result in the original DBus call to timeout. Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
* [Renderer] Enable byte seekRegis Merlino2013-08-015-23/+220
| | | | | | | | | Based on original work from Sebastien Bianti <sebastien.bianti@linux.intel.com> - Resolves issue #59 - Documentation updated. Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Introspection] Fixed bug 97Mark Ryan2013-07-232-63/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix is nasty but I can't see any other way to fix the issue without having to change dleyna-core and GUPnP. This will have to be done anyway at some point but in the meantime this is a serious bug that needs to be patched ASAP. The fix works as follows: 1. We use a weak refererence to detect if we have lost our renderer during a call to gupnp_service_info_get_introspection. If we have we return control direcly to the main loop failing any task and making sure we do not access the device object. 2. We make sure that gupnp_service_info_get_introspection is not called inside an event callback from GUPnP. Otherwise changes to the list of devices in our callback can result in a crash when we return control back to GUPnP. Long term we need to retrieve introspection information asynchronously during device construction and not during calls to GetProp or in event handlers. We might has well initialise the properties during device construction as well. This will simplify the code. Before this can be done however, we need a way to cancel gupnp_service_info_get_introspection_async and a way to call this function inside a task queue. Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
* [Server] Update following the publish_object() connector API changeRegis Merlino2013-07-233-7/+23
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Player] Add OpenNextUri() methodRegis Merlino2013-07-194-18/+75
| | | | | | | | | Based on original work from Sébastien Bianti <sebastien.bianti@linux.intel.com> - Resolves bug #35 - Documentation updated. Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Coding Convention] CheckPatch [3.8.0.26]Ludovic Ferrandis2013-07-182-4/+0
| | | | | | NOTE: Ignored message types: CAMELCASE NEW_TYPEDEFS PREFER_PRINTF Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [API] Issue #94: Add new SetUri API to PlayerLudovic Ferrandis2013-07-184-0/+34
| | | | | | | | | Fix issue #94: <https://github.com/01org/dleyna-renderer/issues/94> Do the same as OpenUriEx, except it doesn't excecute the Play command. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Device] Fix #78: MPRIS OpenUri() does not start playingLudovic Ferrandis2013-07-181-2/+18
| | | | | | Fix issue #78: <https://github.com/01org/dleyna-renderer/issues/78> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Server] Fix a crash case for Rescan()Regis Merlino2013-07-171-1/+0
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Device] GetAll: do not fail if the DMR returns an error for GetPositionInfoRegis Merlino2013-07-171-7/+16
| | | | | | Fix issue 92: <https://github.com/01org/dleyna-renderer/issues/92> Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Cleanup] Code cleanup after code reviewLudovic Ferrandis2013-07-172-14/+15
| | | | | | | | | | | | | | | - Don't initialize result in task creation. Avoid specific cases. It doesn't make the code more readable, nor smaller. - if/else cleaning. Make default action in if statement, and error management in else statement. Most common usage. - Factorize code. Move same function call from each switch/case, outside the switch. Reduce code. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Klockwork] NULL pointer may be dereferenced. (#25)Ludovic Ferrandis2013-07-011-3/+3
| | | | | | Fix issue #25: ip_address may be NULL and may be dereferenced. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Klockwork] NULL pointer may be dereferenced. (#24)Ludovic Ferrandis2013-07-011-3/+3
| | | | | | Fix issue #24: ip_address may be NULL and may be dereferenced. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Cleanup] Removed unused include.Mark Ryan2013-06-241-1/+0
| | | | Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
* [Server] Fix a crash case when the server stopsRegis Merlino2013-06-071-3/+3
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>