| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|\
| |
| | |
Uid
|
| |
| |
| |
| | |
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
| |
| |
| |
| |
| |
| | |
Use instead gssdp_client_get_host_ip of gupnp_context_get_host_ip
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps dleyna-core dependency to 0.5.
Fixes #141.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Fix issue #108: <https://github.com/01org/dleyna-renderer/issues/108>
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
It is now possible to manage the 'Never Quit' option via
the Set() methode.
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Fixes https://github.com/01org/dleyna-collabora-android/issues/58
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
|
|
|
| |
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
GetRenderers() should return object paths instead of strings
(documentation already claims it does).
Fixes #110.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
|
|
|
| |
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
NOTE: Ignored message types: CAMELCASE NEW_TYPEDEFS PREFER_PRINTF
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fix issue #78: <https://github.com/01org/dleyna-renderer/issues/78>
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
|
|
|
| |
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
|
|
|
|
|
| |
Fix issue 92: <https://github.com/01org/dleyna-renderer/issues/92>
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
| |
Fix issue #25: ip_address may be NULL and may be dereferenced.
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
|
|
|
|
|
| |
Fix issue #24: ip_address may be NULL and may be dereferenced.
Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
|
|
|
|
| |
Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
|
|
|
|
| |
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
|