GNOME Bugzilla – Bug 587704
"GstDecodeBin2: This appears to be a text file" error when playing files from a samba share
Last modified: 2009-10-13 14:55:11 UTC
Playing any mp3 file from a samba share results in the error "GstDecodeBin2: This appears to be a text file". Playing files with 'gst-launch playbin2 uri=...' works fine. I'm using GStreamer 0.10.23 and can reproduce this bug with 2.27.1 and commit da97bc813a54b66a5454059a043d6dcdf6109dc6.
Created attachment 137807 [details] debug output with GST_DEBUG=5
0:00:01.891241174 30050 0x1ca16f0 DEBUG totem bacon-video-widget-gst-0.10.c:2922:bacon_video_widget_open: mrl = smb://durandal/to-xerces/songs/dream%20-%20My%20Will/dream%20-%20My%20Will.mp3 0:00:01.891301797 30050 0x1ca16f0 DEBUG totem bacon-video-widget-gst-0.10.c:2923:bacon_video_widget_open: subtitle_uri = smb://durandal/to-xerces/songs/dream%20-%20My%20Will/dream%20-%20My%20Will.txt 0:00:01.891520540 30050 0x1ca16f0 DEBUG playbin2 gstplaybin2.c:1066:gst_play_bin_set_uri: set new uri to smb://durandal/to-xerces/songs/dream%20-%20My%20Will/dream%20-%20My%20Will.mp3 0:00:01.891556857 30050 0x1ca16f0 DEBUG playbin2 gstplaybin2.c:1083:gst_play_bin_set_suburi: setting new .sub uri to smb://durandal/to-xerces/songs/dream%20-%20My%20Will/dream%20-%20My%20Will.txt Is the text file not a subtitle (is it lyrics?)? In which case, GStreamer should ignore it. I guess you can reproduce by passing "suburi" to gst-launch. playbin2 should throw an error if it doesn't recognise the subtitle (or the backend should ignore it).
Indeed, adding suburi pointing at the text file gives me: ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin20: This appears to be a text file Looking inside the file, it appears to be lyrics: #TITLE:My Will #ARTIST:dream #MP3:dream - My Will.mp3 #COVER: dream - My Will [CO].jpg #BACKGROUND: dream - My Will [BG].jpg #BPM:127 #GAP:500 : 0 6 18 So : 6 6 17 t : 12 4 15 to : 16 6 17 me : 22 6 13 za : 28 2 10 me : 30 14 15 ru - 45 etc, etc. I'm rather amused that all the files I tried to play happened to have identically-named .txt files along beside them, but oh well. :)
I think this is a playbin2-related regression. playbin2 should ignore the external subtitle stream if the decodebin for the external subtitles throw an error. It would also be nice if totem was a bit smarter about random text files though..
1) Automatically loading subtitles isn't on by default in Totem 2) I should remove the .txt suffix...
(In reply to comment #5) > 1) Automatically loading subtitles isn't on by default in Totem > 2) I should remove the .txt suffix... I fixed 2). Passing to gst-plugins-base for the playbin2 error.
*** Bug 589333 has been marked as a duplicate of this bug. ***
There is a similar bug on https://bugs.launchpad.net/bugs/402221 "This error is triggered when there mp3 file and text file with exact same file name. 1) mkdir /tmp/t 2) cp somesong.mp3 /tmp/t/t.mp3 3) echo 'foo' > /tmp/t/t.txt 4) totem /tmp/t/t.mp3 (totem:4027): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GstPlayBin2' has no property named `queue-size' (totem:4027): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GstPlayBin2' has no property named `queue-threshold' 0:00:27.848563598 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:348:bvw_error_msg: message = This appears to be a text file 0:00:27.848635953 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:350:bvw_error_msg: domain = 3118 (gst-stream-error-quark) 0:00:27.848657534 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:351:bvw_error_msg: code = 5 0:00:27.848670525 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:352:bvw_error_msg: debug = gstdecodebin2.c(1511): type_found (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin20: decodebin2 cannot decode plain text files 0:00:27.848686588 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:353:bvw_error_msg: source = <decodebin20> 0:00:27.848723744 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:354:bvw_error_msg: uri = file:///tmp/t/t.mp3 ** Message: Error: This appears to be a text file gstdecodebin2.c(1511): type_found (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin20: decodebin2 cannot decode plain text files 0:00:32.137128269 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:348:bvw_error_msg: message = This appears to be a text file 0:00:32.137399463 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:350:bvw_error_msg: domain = 3118 (gst-stream-error-quark) 0:00:32.137629520 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:351:bvw_error_msg: code = 5 0:00:32.137816346 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:352:bvw_error_msg: debug = gstdecodebin2.c(1511): type_found (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22: decodebin2 cannot decode plain text files 0:00:32.138153400 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:353:bvw_error_msg: source = <decodebin22> 0:00:32.138352028 4027 0x96fd5e0 ERROR totem bacon-video-widget-gst-0.10.c:354:bvw_error_msg: uri = file:///tmp/t/t.mp3 ** Message: Error: This appears to be a text file gstdecodebin2.c(1511): type_found (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22: decodebin2 cannot decode plain text files totem 2.27.1-1ubuntu5"
Yes, playbin2 should convert errors from the subtitle uridecodebin to warnings and remove the subtitle part of the pipeline.
Created attachment 145100 [details] [review] 0001-playbin2-Don-t-stop-completely-on-initialization-err.patch Possible patch, should fix all cases where the subtitle part of the pipeline produces errors before playback actually starts.
commit a4bc39ef4836abcf16bd9d451ed89979ff090c0d Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Thu Oct 8 19:55:42 2009 +0200 playbin2: Don't stop completely on initialization errors from subtitle eleme Instead disable the subtitles and play the other parts of the stream. Fixes bug #587704.