By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1905

Summary: [Regression] kaboodle does not play videos
Product: TDE Reporter: Darrell <darrella>
Component: tdemultimediaAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: critical CC: albator78, bugwatch, darrella, kb9vqf, michele.calgaro, slavek.banko
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2010, 2014    
Attachments: kaboodle "playing" a video

Description Darrell 2014-02-03 22:33:10 CST
Although limited in the types of videos that can be played, kaboodle in R14 does not play videos at all. There is nominal playability in 3.5.13.2 and 3.5.10.

As kaboodle is a default media player when no additional applications are installed, this bug affects the base R14.0.0 installation.
Comment 1 Darrell 2014-02-04 11:55:10 CST
I should add that kaboodle R14 just hangs and requires a forced termination when playing videos.
Comment 2 Darrell 2014-02-04 12:17:45 CST
Add audio files too. Kaboodle won't play them.
Comment 3 Darrell 2014-02-08 13:19:21 CST
I now am able to play audio files with kaboodle. I have no idea what happened before, but perhaps after failed attempts at playing videos, there were stale kaboodle processes open that prevented further usage of kaboodle.

I still cannot play videos.
Comment 4 Michele Calgaro 2014-03-07 03:15:29 CST
Darrell, when did Kaboodle last work using your older packages?
Comment 5 Darrell 2014-03-07 16:53:04 CST
I am using /usr/share/xine/visuals/default.avi, which plays fine in 3.5.12.

The oldest R14 package set I have is from Sept 2012. Kaboodle fails to play videos and freezes the same way as described.

I tested the next oldest package set from Jan 2013. Kaboodle opens, refuses to play the video, but does not hang or freeze.
Comment 6 Darrell 2014-03-09 15:45:03 CDT
Could be related to bug 2010.
Comment 7 Francois Andriot 2014-07-22 08:20:38 CDT
Not sure if this is related, but my kaboodle does not work here in R14.

When opening a video, I have the messagein standard output:

/opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib64/libarts_xine.so.0: undefined symbol: ao_new_port

I bet it has something to do with "recent" xine 1.2 support in TDE.

http://osdir.com/ml/kde.users.multimedia/2003-11/msg00200.html
Comment 8 Darrell 2014-07-22 11:32:20 CDT
>I bet it has something to do with "recent" xine 1.2 support in TDE.
While xine 1.2 could be one contributing element, I am using Slackware 14.1 with xine 1.1.21 and xine-libs 0.99.7. I still have the same problem not playing videos. I do not see any symbol errors.
Comment 9 Michele Calgaro 2014-08-27 10:07:17 CDT
Kaboodle doesn't work here either.
Starting from command line, I get an error
unix_connect: can't connect to server ...
which is also repeated every time I try to open a video file.
Some debugging shows that Kaboodle's engine fails to open the file (file player.cpp line 99 "if(!engine->load(current))" ), so probably something to do with arts.
(A lot) more investigation is required.
Comment 10 Michele Calgaro 2014-08-31 09:33:32 CDT
> Not sure if this is related, but my kaboodle does not work here in R14.
> When opening a video, I have the messagein standard output:
> /opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib64
> /libarts_xine.so.0: undefined symbol: ao_new_port

After further analysis, the situation is as follow.
1) Audio files: Kaboodle does play at least .wav and .ogg files without problems.
2) Video files: testing using .mp4 files fails. The problem is related to arts and/or xine since I also get the same message that Francois already posted if I launch artsd before running Kaboodle.
"/opt/trinity/bin/artsd: symbol lookup error: /opt/trinity/lib/libarts_xine.so.0: undefined symbol: ao_new_port"

> I bet it has something to do with "recent" xine 1.2 support in TDE.
I will try to investigate on this. Not sure what's the best point to start from, so any suggestion (Francois, Slavek) is welcome.
Comment 11 Michele Calgaro 2014-08-31 09:49:10 CDT
And this extract from the build log should be a good hint ;-)

checking for _x_ao_new_port in -lxine... no
checking for ao_new_port... no
Comment 12 Darrell 2014-09-02 12:03:06 CDT
> And this extract from the build log should be a good hint ;-)
> checking for _x_ao_new_port in -lxine... no
> checking for ao_new_port... no

As mentioned in comment 8, I am using xine-lib 1.1.21 and not 1.2. My latest tdemultimedia build log shows the following:

checking for _x_ao_new_port in -lxine... yes
checking for ao_new_port... no

I am unable to play videos in kaboodle despite using xine-lib 1.1.21. I do not have any build logs from 3.5.13.2 for comparison, which I last built a very long time ago.

I do not see any stdout/stderr when I start kaboodle from the command line. Running 'strace kaboodle' or 'strace kaboodle /usr/share/xine/visuals/default.mpv' indicates a kaboodle timeout. I am unsure but the timeout seems related to an arts SoundServerV2 socket.
Comment 13 Timothy Pearson 2014-09-30 15:02:06 CDT
There are several separate causes for the observed problem here.

For libxine < 1.2.x we are probably running into this old unsolved KDE 3.5.9-series bug:
https://bugs.kde.org/show_bug.cgi?id=162248

For libxine >= 1.2.x not only is that bug still valid, but for unfathomable reasons the upstream xine developers continue to advertise _x_ao_new_port in the public headers, yet the symbol itself has been removed from libxine.  When I started rewriting the aRts plugin to use a different public accessor I ran smack into the KDE 3.5.9 bug described above.

Michele, this is currently assigned to you.  Do you still want this bug/have time/ability to trace the threading deadlock?
Comment 14 Michele Calgaro 2014-09-30 21:22:12 CDT
> Michele, this is currently assigned to you.  Do you still want this bug/have
> time/ability to trace the threading deadlock?
Tim, feel free to work on this bug. Beside still having little free time (even though from this week things are getting a little better), I think your greater knowledge/ability will help in solving this bug more quickly. As a note, I haven't worked on this bug at all in the last 3 weeks.
Comment 15 Slávek Banko 2014-09-30 22:20:39 CDT
(In reply to Timothy Pearson from comment #13)
> For libxine >= 1.2.x not only is that bug still valid, but for unfathomable
> reasons the upstream xine developers continue to advertise _x_ao_new_port in
> the public headers, yet the symbol itself has been removed from libxine. 
> When I started rewriting the aRts plugin to use a different public accessor
> I ran smack into the KDE 3.5.9 bug described above.

Regarding the xine >= 1.2, see bug 2010 comment 9.
Comment 16 Timothy Pearson 2014-09-30 23:20:17 CDT
OK taking bug back and setting to NEW.

I have traced and repaired the threading deadlock in GIT hash 697d333.  This should restore full functionality with libxine < 1.2.x.

The root cause was enabling full Xlib threading support in TQt3.  Instead of randomly crashing the arts server deadlocked due to locking Xlib in the helper thread via the XNextEvent call.  The (suboptimal) solution was to change to polling via XPending before calling XNextEvent.  This will generate ~100 extra wakeups/sec. worst case but then again with a media player running maybe this is expected anyway?

This deadlock on XNextEvent is unfortunately a relatively common problem with XLib and its xcb backend:

http://mail-archives.apache.org/mod_mbox/harmony-dev/200905.mbox/%3C200905181317.n4IDHtGQ002008@d06av03.portsmouth.uk.ibm.com%3E

https://www.opengl.org/discussion_boards/showthread.php/173172-Xlib-and-openGl-in-multithreading

https://www.libreoffice.org/bugzilla/show_bug.cgi?id=41870

etc.

Please test and verify.  I still need to rewrite the audio interface for xine >= 1.2.x.

Thanks!

Tim
Comment 17 Michele Calgaro 2014-10-01 00:28:02 CDT
Well done Tim.
I will do a full rebuild tonight and in case no FTBFS are encountered, I will be able to test on xine 1.2 tomorrow.
Comment 18 Timothy Pearson 2014-10-01 07:50:06 CDT
(In reply to Michele Calgaro from comment #17)
> Well done Tim.
> I will do a full rebuild tonight and in case no FTBFS are encountered, I
> will be able to test on xine 1.2 tomorrow.

It won't work there yet--as mentioned in Comment 16 only xine < 1.2.x works at the moment pending a rewrite of the audio interface to use xine's public audio methods.
Comment 19 Michele Calgaro 2014-10-01 08:47:51 CDT
> I will be able to test on xine 1.2 tomorrow.
Sorry, that was a typo. I meant to say xine 1.1 (libxine1 1.1.21 to be precise)
Comment 20 Timothy Pearson 2014-10-01 10:44:52 CDT
xine >= 1.2.x support added in GIT hash a05ceb5.

Marking NEEDINFO for now pending results of tests on multiple Xine versions.  1.2.x works here without issue.
Comment 21 Darrell 2014-10-01 14:52:55 CDT
>xine >= 1.2.x support added in GIT hash a05ceb5.
Did you mean commit 68cff160?

My first tests are kaboodle again plays videos with xine 1.1.21 (Slackware 14.1). I do not have a system with xine 1.2+. I tested the default xine /usr/share/xine/visuals/default.mpv and some mp4 videos.

A note to other testers, kaboodle must be configured to autoplay. Otherwise kaboodle sits there like a bump on a log until pressing the Play button.

Good job and thanks!
Comment 22 Timothy Pearson 2014-10-01 15:06:18 CDT
(In reply to Darrell from comment #21)
> >xine >= 1.2.x support added in GIT hash a05ceb5.
> Did you mean commit 68cff160?

Yes I do.  I committed to the original hash and then realized afterward that I had managed to push a whole bunch of irrelevant debugging and todo stuff with it, so I blew away the original commit and did it right the second time. ;-)

> My first tests are kaboodle again plays videos with xine 1.1.21 (Slackware
> 14.1). I do not have a system with xine 1.2+. I tested the default xine
> /usr/share/xine/visuals/default.mpv and some mp4 videos.
> 
> A note to other testers, kaboodle must be configured to autoplay. Otherwise
> kaboodle sits there like a bump on a log until pressing the Play button.
> 
> Good job and thanks!

Well since it works for you on Xine < 1.2.x and works for me with Xine >= 1.2.x I'm going to close this report.

Thanks all for reporting, debugging, and testing!

Tim
Comment 23 Michele Calgaro 2014-10-02 00:43:46 CDT
Doesn't seems to be working here with xine 1.2.
On my local system, kaboodle plays audio file ok, but crashes when playing a video.
On a VM clean Debian/Jessie install, tdebase + tdemultimedia only, Kaboodle plays audio ok, but do nothing when playing video (no crashes, no error messages).

Let's forget about the crash in my local system (which could be a little "dirty"), but in a clean Debian install it should work straight away.

I temporarily reopen this bug, waiting confirmation/denial of the problem.
Comment 24 Timothy Pearson 2014-10-08 10:49:25 CDT
(In reply to Michele Calgaro from comment #23)
> Doesn't seems to be working here with xine 1.2.
> On my local system, kaboodle plays audio file ok, but crashes when playing a
> video.
> On a VM clean Debian/Jessie install, tdebase + tdemultimedia only, Kaboodle
> plays audio ok, but do nothing when playing video (no crashes, no error
> messages).
> 
> Let's forget about the crash in my local system (which could be a little
> "dirty"), but in a clean Debian install it should work straight away.
> 
> I temporarily reopen this bug, waiting confirmation/denial of the problem.

Are you building tdemultimedia from source or using the nightly builds for this test?  If the latter, the build farm never got a chance to catch up (especially on Jessie due to its constant changes and apt inconsistencies on the master Debian mirror) so the xine 1.2 fix would not be available in binary form at this time.
Comment 25 Francois Andriot 2014-10-08 14:50:43 CDT
Another behaviour here, opensuse 13.1 using xine 1.2.5 running today's R14 git.

Opening kaboodle then opening a video works correctly.

But if during the playback, I open another video, the 2nd video is not displayed, only sound ... The video output gets all black.
I have to explicitely press the stop button so that the video stream is stopped, then I can open another video and it plays correctly.

I have seen no crash at all.
Comment 26 Darrell 2014-10-08 15:00:55 CDT
I don't know whether the crashes reported here are the same, but I filed bug 2150 again a crash that occurs when restoring to normal screen from full screen.
Comment 27 Michele Calgaro 2014-10-09 03:56:14 CDT
>Are you building tdemultimedia from source or using the nightly builds for this 
>test?
Sorry for the late reply, being quite busy today. 
I always build every package from source, even the dependency packages.
Comment 28 Timothy Pearson 2014-10-09 13:33:19 CDT
(In reply to Francois Andriot from comment #25)
> Another behaviour here, opensuse 13.1 using xine 1.2.5 running today's R14
> git.
> 
> Opening kaboodle then opening a video works correctly.
> 
> But if during the playback, I open another video, the 2nd video is not
> displayed, only sound ... The video output gets all black.
> I have to explicitely press the stop button so that the video stream is
> stopped, then I can open another video and it plays correctly.
> 
> I have seen no crash at all.

This should be fixed in GIT hash c0913ce.

(In reply to Michele Calgaro from comment #23)
> On a VM clean Debian/Jessie install, tdebase + tdemultimedia only, Kaboodle
> plays audio ok, but do nothing when playing video (no crashes, no error
> messages).

Does the fix in GIT repair this issue?  I have not seen this issue on my Jessie system.

Thanks!
Comment 29 Michele Calgaro 2014-10-11 09:49:00 CDT
>> On a VM clean Debian/Jessie install, tdebase + tdemultimedia only, Kaboodle
>> plays audio ok, but do nothing when playing video (no crashes, no error
>> messages).

> Does the fix in GIT repair this issue?  I have not seen this issue on my Jessie
> system.

With the latest tdelibs+tdebase in a clean VM Jessie install, kaboodle now plays the audio of the video file. I need to rebuild tdemultimedia to do a full test.
I will update again possibly tomorrow, time permitting.
Comment 30 Michele Calgaro 2014-10-11 22:15:53 CDT
>> On a VM clean Debian/Jessie install, tdebase + tdemultimedia only, Kaboodle
>> plays audio ok, but do nothing when playing video (no crashes, no error
>> messages).

> Does the fix in GIT repair this issue?  I have not seen this issue on my Jessie
> system.

Tested with a full rebuild in a VM Jessie environment. mpg video still not displaying in Kaboodle, only the audio track can be heard.
This are the xine packages installed. Kernel is 3.14-2 because with 3.16-2 virtualbox locks up (this seems to be a problem with the 3.16 kernel and VB, looking at google...)

ii  libarts1-xine-trinity                 4:14.0.0-b039+20141012+0326     amd64        aRts plugin enabling xine support
ii  libxine2                              1.2.6-1+b1                      amd64        xine media player library – meta-package
ii  libxine2-bin                          1.2.6-1+b1                      amd64        xine video/media player library – binary files
ii  libxine2-doc                          1.2.6-1                         all          xine video player library – documentation files
ii  libxine2-ffmpeg                       1.2.6-1+b1                      amd64        MPEG-related plugins for libxine2
ii  libxine2-misc-plugins                 1.2.6-1+b1                      amd64        Input, audio output and post plugins for libxine2
ii  libxine2-plugins                      1.2.6-1                         all          xine video/media player library ‒ meta-package for commonly-used plugins
ii  libxinerama-dev:amd64                 2:1.1.3-1                       amd64        X11 Xinerama extension library (development headers)
ii  libxinerama1:amd64                    2:1.1.3-1                       amd64        X11 Xinerama extension library
ii  x11proto-xinerama-dev                 1.2.1-2                         all          X11 Xinerama extension wire protocol
Comment 31 Michele Calgaro 2014-10-11 22:18:30 CDT
As further note, hoovering the mouse over the video file in Konqueror displays a file tip with a preview icon. The preview icon is correct.
Git sources are from yesterday (Oct 11).
Comment 32 Timothy Pearson 2014-10-12 11:56:22 CDT
I am still unable to replicate this.  What architecture is your test system?

Can you provide detailed replication instructions with a freely available video file?  A screenshot of Kaboodle while it is supposed to be playing video, but is only playing audio, would be helpful, as would killing and launching artsd in a separate terminal window and posting the output of that.

Thanks!
Comment 33 Michele Calgaro 2014-10-13 04:38:53 CDT
Created attachment 2320 [details]
kaboodle "playing" a video

I downloaded and tried the following file
http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
from this page:
http://camendesign.com/code/video_for_everybody/test.html

The attached screenshot shows Kaboodle playing the video, but not video displayed.

My host machine is amd64 Debian/Jessie, guest is amd64 Debian/Jessie. Both are running kernel 3.14-2 since using kernel 3.16-2 would result in a host kernel panic as mentioned in previous comments.

The only thing to note is that this clean environment is actually a progressively-updated clean environment. At the beginning of 2014 I create a new Debian/Jessie machine, no DE at all. Using snapshots I do all my testing, then every couple of months I update the original image (again, no DE at all), so each time I can start from a clean console environment for my testing.
I do not expect this to be the cause of the problem.
Comment 34 Timothy Pearson 2014-10-13 12:44:53 CDT
Thank you for the detailed information.  The linked video plays fine here, so time for a stupid question I should have asked before: Debian is finicky with certain non-free codecs; does xine (from the xine-ui package) on your machine play the video?

Thanks!
Comment 35 Michele Calgaro 2014-10-14 04:44:03 CDT
Ok, I have done some further investigation and these are the results.

> so time for a stupid question I should have asked before: Debian is finicky 
> with certain non-free codecs; does xine (from the xine-ui package) on your
> machine play the video?
And I should have thought about it before as well ;-)
1) On the VM system, the package xine-ui was not installed (only libxine2 was installed). After installing xine-ui, everything is ok. xine plays the video and magic-magic Kaboodle plays the video! Time to add an install dependency for xine-ui?


2) On my local system, it is not actually Kaboodle crashing but the SoundServer. Kabooble remains operational and after dismissing the DrKonqui crash window, I can use it to play other audio files.

I have uploaded the following crash report for this problem
TDECRSH-ee450de-d30e451-fd4b2b1-121ca22-70f653c-fcc81dc-1333283
in case you want to take a look.
Comment 36 Michele Calgaro 2014-10-14 05:05:53 CDT
Nevermind, forget the crash dump because I also find the problem with my local system.
As I (kind of) expected, the problem was caused by a dirty xine lib in my system, a left over from when I was testing this bug some time ago.
Clean up and now everything is ok, so I am closing this bug again.
Comment 37 Michele Calgaro 2014-10-14 05:31:18 CDT
Sorry for the mess...
I am actually reopening the bug so we don't forget to decide what to do with the dependency for xine-ui (see comment 35)
Comment 38 Slávek Banko 2014-10-14 07:03:59 CDT
(In reply to Michele Calgaro from comment #37)
> Sorry for the mess...
> I am actually reopening the bug so we don't forget to decide what to do with
> the dependency for xine-ui (see comment 35)

Please, check whether it is sufficient package libxine2-x, instead of xine-ui. For example - from kaffeine dependencies:

libxine2-x | libxine1-x (<< 1.1.20) | libxine1 (<< 1.1.8-2)
Comment 39 Michele Calgaro 2014-10-14 08:57:25 CDT
> Please, check whether it is sufficient package libxine2-x, instead of xine-ui. 
> For example - from kaffeine dependencies:

Well spotted Slavek! libxine2-x is enough (and makes more sense to me as well).
Comment 40 Slávek Banko 2014-10-14 09:34:10 CDT
(In reply to Michele Calgaro from comment #39)
> > Please, check whether it is sufficient package libxine2-x, instead of xine-ui. 
> > For example - from kaffeine dependencies:
> 
> Well spotted Slavek! libxine2-x is enough (and makes more sense to me as
> well).

Added libxine*-x dependency for libarts1-xine in commit 4304cd8f.
Comment 41 Michele Calgaro 2014-10-14 09:35:33 CDT
Thanks, I was just about to push the same patch when I got the tde-commit notification of yours :-)