cshorler / hal-flash Goto Github PK
View Code? Open in Web Editor NEWA libhal stub library forwarding to UDisks specifically to satisfy the libflashplayer.so / libadobecp requirements
License: Other
A libhal stub library forwarding to UDisks specifically to satisfy the libflashplayer.so / libadobecp requirements
License: Other
This is the libhal-flash package. It is loosely based upon libhal.[ch] from the hal-0.5.14 package for the external interface presented by the shared library libhal. Further information on HAL can be found here: http://www.freedesktop.org/wiki/Software/hal WARNING - this is not a fully functional HAL layer! The Adobe Flash web browser plugin for Linux relies upon libhal to provide information required by libadobecp (which libflashplayer.so retrieves from the internet) for playing back drm content. Since HAL is no longer centric to most modern Linux systems (now we have UDev, UDisks etc) - I'm only providing this library until such time as HTML5 becomes standard for online TV (many sites continue to use Flash). RUNTIME REQUIREMENTS Note - This library requires UDisks2 and a running DBus service! TESTING INSTALLATION Adobe provides a test web page for DRM content and a test video required to run the test. Enter this into your browser: http://drmtest2.adobe.com:8080/SVP/SampleVideoPlayer_FP.html Enter this into the form: http://drmtest2.adobe.com:8080/Content/anonymous.f4v Press play.
Amazon Prime Video stopped working since flash 11.2.202.468 upgrade, plugin segfaults
Here's a backtrace of the plugin container:
Core was generated by `/usr/lib64/firefox/plugin-container /usr/lib64/nsbrowser/plugins/libflashplayer'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
#1 0x00007f77b598c0f8 in marshal_string (pos_after=, byte_order=, value=, insert_at=,
str=<optimized out>) at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-basic.c:760
#2 _dbus_marshal_write_basic (str=0x7f77966e6928, insert_at=20, type=type@entry=111, value=0xa5a, byte_order=108, pos_after=0x7f77963fca00)
at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-basic.c:840
#3 0x00007f77b597bf71 in _dbus_type_writer_write_basic_no_typecode (value=, type=111, writer=0x7f77963fc9e0)
at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-recursive.c:1601
#4 _dbus_type_writer_write_basic (writer=writer@entry=0x7f77963fc9e0, type=type@entry=111, value=value@entry=0x7f77963fca80)
at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-recursive.c:2323
#5 0x00007f77b5979795 in write_basic_field (writer=writer@entry=0x7f77963fcad0, field=field@entry=1, type=type@entry=111,
value=value@entry=0x7f77963fca80) at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-header.c:318
#6 0x00007f77b5979dae in _dbus_header_create (header=0x7f77966e6928, byte_order=, message_type=1,
destination=0x7f77967b8f52 "org.freedesktop.UDisks", path=0x5a5a5a5a5a5a5a5a <error: Cannot access memory at address 0x5a5a5a5a5a5a5a5a>,
interface=0x7f77967b8df0 "org.freedesktop.DBus.Properties", member=0x7f77967b8f4e "Get", error_name=0x0)
at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-marshal-header.c:597
#7 0x00007f77b597e611 in dbus_message_new_method_call (destination=0x7f77967b8f52 "org.freedesktop.UDisks",
path=0x5a5a5a5a5a5a5a5a <error: Cannot access memory at address 0x5a5a5a5a5a5a5a5a>, iface=0x7f77967b8df0 "org.freedesktop.DBus.Properties",
method=0x7f77967b8f4e "Get") at /var/tmp/portage/sys-apps/dbus-1.8.16/work/dbus-1.8.16/dbus/dbus-message.c:1353
#8 0x00007f77967b8259 in _get_udisks_property (device_path=0x5a5a5a5a5a5a5a5a <error: Cannot access memory at address 0x5a5a5a5a5a5a5a5a>,
property_name=property_name@entry=0x7f77967b9059 "DriveConnectionInterface", ctx=<optimized out>,
iface_name=0x7f77967b8f30 "org.freedesktop.UDisks.Device") at libhal.c:82
#9 0x00007f77967b8bb2 in device_storage_bus (device_path=, ctx=) at libhal.c:161
#10 libhal_device_get_property_string (ctx=, udi=, key=, error=) at libhal.c:485
#11 0x00007f7796cd2086 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#12 0x00007f7796cd4a4e in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#13 0x00007f7796bb87a5 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#14 0x00007f7796c4e094 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#15 0x00007f7796d0099c in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#16 0x00007f7796d13314 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#17 0x00007f7796d16679 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#18 0x00007f7796cf5956 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#19 0x00007f7796c4dd93 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#20 0x00007f7796c4e04a in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#21 0x00007f7796b9710c in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#22 0x00007f7796c893cd in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#23 0x00007f7796c8a82b in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#24 0x00007f7796a79e81 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#25 0x00007f7796a6c13e in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#26 0x00007f7796a6d143 in ?? () from /home/huettel/.adobe/Flash_Player/NativeCache/902754B9E011F85BA521C519C8994DF9/4c04df7a/libadobecp-301806-2.so
#27 0x00007f77a8363efc in ?? () from /usr/lib64/nsbrowser/plugins/libflashplayer.so
#28 0x00007f77a836444e in ?? () from /usr/lib64/nsbrowser/plugins/libflashplayer.so
#29 0x00007f77bd5ba2c4 in start_thread (arg=0x7f77963ff700) at pthread_create.c:310
#30 0x00007f77b8523f4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb)
More info on request
Hello,
Is there any reason I can't build this with automake-1.14 on Debian/jessie? What do I need to modify? I'm getting the following:
/dev/src/hal-flash/missing: line 81: automake-1.13: command not found
WARNING: 'automake-1.13' is missing on your system.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'automake' program is part of the GNU Automake package:
http://www.gnu.org/software/automake
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
http://www.gnu.org/software/autoconf
http://www.gnu.org/software/m4/
http://www.perl.org/
Makefile:330: recipe for target 'Makefile.in' failed
make: *** [Makefile.in] Error 1
Thanks in advance for any advice!
Hi,
first of all, thank you so much for providing this, it saved me from advising my wife to use Windows on her laptop when she wants to watch some TV shows which are available also online at the TV station's web pages.
Actually, I noticed this also after I found hal-flash and installed it, when just trying to playback some DRM content, the behaviour is that only the non-protected commercials at the beginning play, and then the actual protected content displays the circle animation forever. The normal reaction of someone who installed hal-flash (so obviously not of the actual user to which the system belongs, my wife, who just tells me "doesn't work, again") is to read again the README, and after finding out that the Adobe test video actually works, to wonder how is that possible.
Well, just trying again to watch other protected content, then works, and now I have the belief this is connected to the testing. I did not yet fully analyze if it still works if the browser (Firefox) is closed and started again, but will check.
Can you reproduce something like that as well, do you have any idea why this is happening? If you want to test, please try something like this: http://www.vox.de/cms/sendungen/shopping-queen.html or this: http://www.rtl.de/cms/sendungen/tv-videos.html (Ad-blocker should be disabled on the respective page)
Greetings,
Lucian
"Since HAL is no longer centric to most modern Linux systems (now we have UDev,
UDisks etc) - I'm only really providing this library because I see a growing
trend in the UK: ITV, Lovefilm and others are now using Silverlight rather than
Flash for their drm streams. Currently Silverlight DRM protected content isn't
supported on Linux (I'd like to see this change - I have nothing against Silverlight)."
just got 0.3.2, where in its comments it says above, AFAIK ITV dumped silverlight 5 years ago, and i was getting the strong impression that the silverlight trend has been down ever since, and had basically missed the bus, HTML5 however seems on the rise, just saying.
Hi,
You might remember that I would like to get hal-flash into Debian and Ubuntu. Could you tag master with 0.3.1 so it aligns with the debian/changelog
updates I made? Without an upstream tarball that matches the debian/changelog
I can't get this packaged :-(
Regards, Martin.
May be I am an idiot, but twice I have struggled to get this thing to work simply because I did not have dbus running. Could be worth adding a line to the README just to say depends on having dbus installed AND running?
I think build instructions should start with the development mode, instead of a ./configure command, since people who read this are the ones who cloned the git code, so when you read quickly you only see a no sense ./configure at first. I think it should be something like:
Development (only applies to a git cloned tree):
Build Instructions:
Packaging:
I was trying to see if I had correctly installed libhal, but your test program, test/flash.c, segfaults after getting an empty processor list.
This line in flash.c
is where it happens because processor_list
is NULL
.
while (processor_list[i] != NULL) {
The processor list is NULL because libhal_manager_find_device_string_match
(in libhal.c) only currently handles storage devices and not the requested information on processors, so it falls to the else clause which assigns a NULL return value via g_strdupv:
hal_device_names = g_strdupv(default_r_val);
This makes me think that libhal_manager_find_device_string_match
and/or flash.c
is incomplete.
Thanks for looking into this and providing any advice on how to (alternatively) test if libhal is correctly installed and working.
$ ./configure --prefix=
....
checking for DBUS... no
configure: error: Package requirements (dbus-1 >= 0.61) were not met:
No package 'dbus-1' found
I hope that someone checks out this issue...
Anyway, here I go: I had recently the need to access some DRM-protected Flash video stuff, and I'm using (the new-stable) Debian Wheezy on a 64-bit CPU.
Installed hal from Debian repos, didn't liked it, promptly uninstalled it, did some googling and found your hack. Unfortunately it causes the Flash plugin to crash here as soon as it tries to load the DRM library libadobecp-whatever.so.
I had an issue building on Debian Jessie. Here's a pull request that fixes it: #6
This program is something that was sorely needed. It works wonderfully in all of my Debian installations. I was wondering if anyone has tried compiling it for freebsd. Thanks.
I'm looking for help getting hulu (standard) playing again on OpenSUSE (ads play fine but the content just shows up blank with the 'play button' greyed out.
Hulu customer support said I need to install libhal due to DRM and so here I am.
I downloaded hal-flash and autoconf fails with the following error:
autoconf -i
configure.ac:21: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
It builds 'configure' but that fails if I tried to invoke it as follows:
./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
./configure: line 1754: syntax error near unexpected token -Wall' ./configure: line 1754:
AM_INIT_AUTOMAKE(-Wall -Wno-extra-portability -Werror foreign)'
I managed to build the libhal.so from the src but don't know where to install the lib.
Putting it into my LD_LIBRARY_PATH or in the system lib dir /usr/lib64 doesn't help.
I'm running the following:
OpenSUSe 12.3
Firefox 34.0.5
flash-player-11.2.202.440-2.115.1.x86_64
Pointers/suggestions will be appreciated.
Thanks.
Modern systems have udisks2 installed instead of udisks, so this could be enhanced to take advantage of it, and avoid the need to install two separate daemons.
Udisks has started requiring JavaScript as a build dependency due to polkit... suffice to say it's a mess.
It would be nice if hal-flash was self contained which doesn't seem too far fetched since hal-flash already seems quite small and only does a limited number of things like report disk serial, size and such.
Hi, just tested this on the adobe test page and the video never loaded. OS is Ubuntu 16.04 64 bit. Firefox 50.10. Flash version 24.0r0 installed by the usual way via flashplugin-installer. Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.