FS#14115 - gnash-common does not work properly (sound crash)
Attached to Project:
Arch Linux
Opened by Etienne Lepercq (guepe) - Sunday, 05 April 2009, 20:37 GMT
Last edited by Eric Belanger (Snowman) - Tuesday, 19 May 2009, 00:34 GMT
Opened by Etienne Lepercq (guepe) - Sunday, 05 April 2009, 20:37 GMT
Last edited by Eric Belanger (Snowman) - Tuesday, 19 May 2009, 00:34 GMT
|
Details
Description:gnash-common previously used opengl for
renderer, which was not working at all on my machine. Now,
this bug has been (two days ago) fixed, but it has been
compiled to use ffmpeg as audio backend, which should not be
used : gstreamer works properly.
With the current package, I am able to read flash videos without sound, but gnash crashes when some audio is embedded. I compiled by myself gnash-0.8.5 from repositoy, with these options : ./configure --prefix=/opt/gnash-0.8.5 --enable-gui=gtk --enable-renderer=agg --enable-gstreamer --build=i686-pc-linux-gnu The prefix /opt is used just to not interfere with the gnash-common package and should not be used for packaging. The enable-gui=gtk is default, as endable-renderer=agg, but has been put here to be more specific. With gstreamer, videos on youtube for example works perfectly well, as it should. Additional info: * package version(s) : 0.8.5 Steps to reproduce: Open any youtube video, play : it starts buffering, then crashed (gray box) To solve this bug, recompile with gstreamer (which modifies dependancy from ffmpeg to gstreamer) The gnash log when using gnash-common package (i686) is available here : http://pastebin.com/m56b3fba3 Worth noting : ERROR: outputSize:0 after decoding 9 bytes of input audio data. Upgrading ffmpeg/libavcodec might fix this issue. |
This task depends upon
Closed by Eric Belanger (Snowman)
Tuesday, 19 May 2009, 00:34 GMT
Reason for closing: Fixed
Additional comments about closing: fixed in 0.8.5-2
Tuesday, 19 May 2009, 00:34 GMT
Reason for closing: Fixed
Additional comments about closing: fixed in 0.8.5-2
Maybe using --enable-gstreamer --enable-media=ffmpeg is the better combination. Could you try it?
BTW, ffmpeg will be updated to the stable 0.5 version. Perhaps that should be done first.
./configure --prefix=/opt/gnash-0.8.5 --enable-gui=gtk --enable-renderer=agg --enable-gstreamer --enable-media=ffmpeg --build=i686-pc-linux-gnu
;-)
./configure --prefix=/opt/gnash-0.8.5 --enable-gui=gtk --enable-renderer=agg --enable-gstreamer --enable-media=ffmpeg --build=i686-pc-linux-gnu
;-)
sudo pacman -S testing/ffmpeg
Résolution des dépendances...
Recherche des conflits possibles entre paquets...
Erreur: la préparation de la transaction a échoué (la satisfaction des dépendances a échoué)
:: vlc: requiert ffmpeg>=20081220
:: xine-lib: requiert ffmpeg>=20081220
And when searching for ffmpeg :
sudo pacman -Ss ffmpeg
testing/ffmpeg 0.5-1
Complete and free Internet live audio and video broadcasting solution for Linux/Unix
extra/ffmpeg 20090217-1
Complete and free Internet live audio and video broadcasting solution for Linux/Unix
When using yaourt :
yaourt -Ss ffmpeg
testing/ffmpeg 0.5-1 [20090217-1 installed]
Complete and free Internet live audio and video broadcasting solution for
Linux/Unix
extra/ffmpeg 20090217-1 [installed]
Complete and free Internet live audio and video broadcasting solution for
Linux/Unix
I really don't know why yaourt tells me that I have testing/ffmpeg 0.5-1 as I _never_ enabled testing repos... What should I do ?
# pacman -Sd testing/ffmpeg testing/x264
Test gnash then reinstall the ffmpeg and x264 from extra.
yaourt is just confused about the versioning scheme change. It doesn't tell you have 0.5 installed. It says "[20090217-1 installed]"
Also could you post links to videos where the gnash in extra crashes?
BUT : playback is SLOW. Very slow, I don't have a big processor (P-M 1.8GHz) but with the ffmpeg from extra it works fine.
I tried then to use ffmpeg from testing + my own compilation of gnash : same thing, playback is OK, but slow, which I don't encounter with previous version.
So for gnash the ffmpeg package from testing solves my problem... but ffmpeg creates a new one !!
I also tried a .mp4 video file with VLC and it run smoothly, so it seems that mabe this is more related to x264 package. What do you think ? Where can I get some more infos on what is causing this bad playback experience ?
I use ffmpeg 20090217-1.
With ffmpeg 0.5 from testing no crash but still no video on youtube.
I tried doing this : remove testing repo, reinstall x264 from extra
Add testing repo, get PKGBUILD of ffmpet with yaourt -G testing/ffmpeg
Then I changed PKGBUILD to make it depend on x264 from extra, and installed ffmpet from testing (src, yaourt -Sb testing/ffmpeg) + edit PKGBUILD to depend on the x264 version from extra.
Gnash succesfully loads inside epiphany, but crashes :
30612:3047753472] 19:45:43: DEBUG: AudioDecoderFfmpeg: initialized FFMPEG codec 86018 (aac) for FLASH codec 10 (Advanced Audio Coding)
30612:3047753472] 19:45:43: DEBUG: NetStream_as::initAudioDecoder: hot-plugging audio consumer
30612:3047753472] 19:45:43: ERROR: outputSize:0 after decoding 9 bytes of input audio data. Upgrading ffmpeg/libavcodec might fix this issue.
30612:3047753472] 19:45:43: DEBUG: pushDecodedAudioFrames(): Decoded audio frame contains no samples
Apparently gnashplugin dislikes the ffmpeg testing version with x264 extra version ^^ !
53851ce2-8af9-b4ed-6544edb5-58b68031 is dumped
Youtube vieos (video and audio) play fine here with the ffmpeg/x264 in testing but only on my x86_64 machine. I tested it in both firefox and epiphany. There is a problem with the widgets at the bottom of the video. Only the play/pause button work. Sometime the widgets disappears but if you click were the button is supposed to be, the video still pause/play. On my i686 machine, I just get a grey box. I just noticed that as I was doing my test on my x86_64 machine. I'll look into it further.
3853:3049006864] 18:32:40: DEBUG: Main loop ended, cleaning up
3853:3049006864] 18:32:40: DEBUG: Any segfault past this message is likely due to improper threads cleanup.
3846:3047143184] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) enter
3846:3047143184] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) returning
3846:3047143184] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) enter
3846:3047143184] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) returning
3846:3047143184] 18:32:40: DEBUG: Main loop ended, cleaning up
3846:3047143184] 18:32:40: DEBUG: Any segfault past this message is likely due to improper threads cleanup.
3850:3047126800] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) enter
3850:3047126800] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) returning
3850:3047126800] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) enter
3850:3047126800] 18:32:40: DEBUG: gboolean gnash::<unnamed>::deleteEvent(GtkWidget*, GdkEvent*, void*) returning
3850:3047126800] 18:32:40: DEBUG: Main loop ended, cleaning up
3850:3047126800] 18:32:40: DEBUG: Any segfault past this message is likely due to improper threads cleanup.
3853:3049006864] 18:32:40: DEBUG: ~Player - _movieDef refcount: 2 (1 will be dropped now)
3846:3047143184] 18:32:40: DEBUG: ~Player - _movieDef refcount: 2 (1 will be dropped now)
3850:3047126800] 18:32:40: DEBUG: ~Player - _movieDef refcount: 2 (1 will be dropped now)
3853:3049006864] 18:32:40: DEBUG: ~Gui - _movieDef refcount: 1
3846:3047143184] 18:32:40: DEBUG: ~Gui - _movieDef refcount: 1
3850:3047126800] 18:32:40: DEBUG: ~Gui - _movieDef refcount: 1
For my setup/computer, the best result is using ffmpeg and x264 from extra AND compile gnash with options I wrote earlier :-(
What architecture are you guys using?
I'll try again with --enable-gstreamer --enable-media=gstreamer to see if it works here. That would by-pass the ffmpeg problem if gstreamer works of course.
BTW, gnash is orphaned and I don't want to spend too much time on it. If it takes too much time fixing this, I might move the ffmpeg in testing to extra before.
I kept ffmpeg from extra (but it is not involved AFAIK - since you used gstreamer)
kudos to Eric !