media.autoplay.enabled=false does not prevent videos on youtube to autostart

RESOLVED FIXED

Status

()

P2
normal
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: rz, Unassigned)

Tracking

42 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
No Flash plugin, all other plugins (not addons) disabled. Addblock+, Noscript active.

When entering a Youtube page with a video the player box is briefly displayed with an "X" and a message like "video/player blocked" but this disappears quickly, the video is loaded over net and Firefox crashes. Does not happen if I block Youtube in NoScript.

The crash itself is uninteresting (gstreamer crash on Linux) but hugely irritating and 100% repeatable.

For bandwidth reasons I absolutely never ever want videos to autostart.

As a result Firefox/Youtube are completely unusable.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x72fffb40 (LWP 6260)]
0x7d8ccc99 in __vaDriverInit_0_36 () from /usr/lib/dri/i965_drv_video.so
(gdb) bt
#0  0x7d8ccc99 in __vaDriverInit_0_36 () at /usr/lib/dri/i965_drv_video.so
#1  0xffffffff in va_openDriver () at /lib/libva.so.1
#2  0xffffffff in vaInitialize () at /lib/libva.so.1
#3  0x7ee95b3b in gst_vaapi_display_new () at /lib/libgstvaapi-1.4.so.1
#4  0xffffffff in gst_vaapi_display_drm_new () at /lib/libgstvaapi-drm-1.4.so.1
#5  0xffffffff in gst_vaapi_ensure_display ()
    at /usr/lib/gstreamer-1.0/libgstvaapi.so
#6  0xffffffff in gst_vaapi_plugin_base_ensure_display ()
    at /usr/lib/gstreamer-1.0/libgstvaapi.so
#7  0xffffffff in gst_vaapidecode_query ()
    at /usr/lib/gstreamer-1.0/libgstvaapi.so
#8  0x68a59714 in gst_pad_query () at /lib/libgstreamer-1.0.so.0
#9  0x68a8fcd1 in gst_pad_query_caps () at /lib/libgstreamer-1.0.so.0
#10 0x68a4ff82 in gst_pad_link_prepare () at /lib/libgstreamer-1.0.so.0
#11 0x68a5c2d0 in gst_pad_link_full () at /lib/libgstreamer-1.0.so.0
#12 0x68a5c59c in gst_pad_link () at /lib/libgstreamer-1.0.so.0
#13 0xffffffff in analyze_new_pad ()
    at /usr/lib/gstreamer-1.0/libgstplayback.so
#14 0xffffffff in pad_added_cb () at /usr/lib/gstreamer-1.0/libgstplayback.so
#15 0xffffffff in caps_notify_cb () at /usr/lib/gstreamer-1.0/libgstplayback.so
#16 0xffffffff in g_cclosure_marshal_VOID__PARAM () at /lib/libgobject-2.0.so.0
#17 0xffffffff in g_closure_invoke () at /lib/libgobject-2.0.so.0
#18 0xffffffff in signal_emit_unlocked_R () at /lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#19 0xffffffff in g_signal_emit_valist () at /lib/libgobject-2.0.so.0
#20 0xffffffff in g_signal_emit () at /lib/libgobject-2.0.so.0
#21 0xffffffff in g_object_dispatch_properties_changed ()
    at /lib/libgobject-2.0.so.0
#22 0x68a0e6b3 in gst_object_dispatch_properties_changed ()
    at /lib/libgstreamer-1.0.so.0
#23 0xffffffff in g_object_notify_by_pspec () at /lib/libgobject-2.0.so.0
#24 0x68a50a34 in store_sticky_event () at /lib/libgstreamer-1.0.so.0
#25 0x68a5b955 in gst_pad_push_event () at /lib/libgstreamer-1.0.so.0
#26 0x7e4d5b01 in gst_base_transform_setcaps () at /lib/libgstbase-1.0.so.0
#27 0x7e4d6ed2 in gst_base_transform_sink_eventfunc ()
    at /lib/libgstbase-1.0.so.0
#28 0xffffffff in gst_capsfilter_sink_event ()
    at /usr/lib/gstreamer-1.0/libgstcoreelements.so
#29 0x7e4d130d in gst_base_transform_sink_event () at /lib/libgstbase-1.0.so.0
#30 0x68a518af in gst_pad_send_event_unchecked () at /lib/libgstreamer-1.0.so.0
#31 0x68a521d6 in gst_pad_push_event_unchecked () at /lib/libgstreamer-1.0.so.0
#32 0x68a526c0 in push_sticky () at /lib/libgstreamer-1.0.so.0
#33 0x68a5034f in events_foreach () at /lib/libgstreamer-1.0.so.0
#34 0x68a5ba14 in gst_pad_push_event () at /lib/libgstreamer-1.0.so.0
#35 0xffffffff in gst_h264_parse_update_src_caps ()

    at /usr/lib/gstreamer-1.0/libgstvaapi_parse.so
#36 0xffffffff in gst_h264_parse_set_caps ()
---Type <return> to continue, or q <return> to quit---
    at /usr/lib/gstreamer-1.0/libgstvaapi_parse.so
#37 0x7e4b149a in gst_base_parse_sink_event_default ()
    at /lib/libgstbase-1.0.so.0
#38 0xffffffff in gst_h264_parse_event ()
    at /usr/lib/gstreamer-1.0/libgstvaapi_parse.so
#39 0x7e4a31cb in gst_base_parse_sink_event () at /lib/libgstbase-1.0.so.0
#40 0x68a518af in gst_pad_send_event_unchecked () at /lib/libgstreamer-1.0.so.0
#41 0x68a521d6 in gst_pad_push_event_unchecked () at /lib/libgstreamer-1.0.so.0
#42 0x68a526c0 in push_sticky () at /lib/libgstreamer-1.0.so.0
#43 0x68a5034f in events_foreach () at /lib/libgstreamer-1.0.so.0
#44 0x68a5ba14 in gst_pad_push_event () at /lib/libgstreamer-1.0.so.0
#45 0xffffffff in gst_multi_queue_loop ()
    at /usr/lib/gstreamer-1.0/libgstcoreelements.so
#46 0x68a86d67 in gst_task_func () at /lib/libgstreamer-1.0.so.0
#47 0x68a87e60 in default_func () at /lib/libgstreamer-1.0.so.0
#48 0xffffffff in g_thread_pool_thread_proxy () at /lib/libglib-2.0.so.0
#49 0xffffffff in g_thread_proxy () at /lib/libglib-2.0.so.0
#50 0xffffffff in start_thread () at /lib/libpthread.so.0
#51 0xffffffff in clone () at /lib/libc.so.6

Updated

3 years ago
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
This is a bug in the platform, not Firefox. Try removing "gstreamer1-vaapi" (or whatever name it has on your distro).

I don't think autoplay matter in that case.
(Reporter)

Comment 2

3 years ago
(In reply to Hubert Figuiere [:hub] from comment #1)

> I don't think autoplay matter in that case.
Yes, autoplay matters!

!!!! I DO NOT WANT AUTOPLAY EVER !!!!

Much less when it is disabled by all existing knobs that I could find.

I thought that has been fixed by #659285 but for some reason it still persist here.

I could not care less about gstreamer but I never want firefox to play video or audio without asking me first. You could remove all video/audio code from Firefox and I would be happy.
In comment 1 I was talking about the crash. I wasn't clear enough, mt bad. But your aggressive tone doesn't make me feel it was a good idea to try to help.
The crash is gstreamer which is no longer supported.
Summary: media.autoplay.enabled=false does not prevent videos on youtube to autostart (and crash Firefox) → media.autoplay.enabled=false does not prevent videos on youtube to autostart
This bug is another variation of YouTube autoplay=false bug 1217438.
Depends on: 1217438
Priority: -- → P2
(Reporter)

Comment 6

3 years ago
(In reply to Hubert Figuiere [:hub] from comment #3)
> In comment 1 I was talking about the crash. I wasn't clear enough, mt bad.
> But your aggressive tone doesn't make me feel it was a good idea to try to
> help.

thanks for trying, it was my fault that I included the largely irrelevant 
stacktrace in the bug report.

I was happy that https://bugzilla.mozilla.org/show_bug.cgi?id=659285 was
fixed - and now it immediately reappears like this?

Is there any way to tell firefox I DO NOT WANT ANY MEDIA AUTOPLAY EVER short 
of recompiling it?

At least half a dozen of extensions were created for this purpose and noone 
seems to work reliably? Tried all about:config entries that I could find, 
disabling all plugins..

Comment 7

3 years ago
(In reply to Hubert Figuiere [:hub] from comment #3)
> In comment 1 I was talking about the crash. I wasn't clear enough, mt bad.
> But your aggressive tone doesn't make me feel it was a good idea to try to
> help.

The reason people are so frustrated with this is because a) if you dislike autoplay, you really dislike it (shall I come to your house and play my music at full volume? It's that kind of irritation), and b) because it has been an issue for far too long (it took #659285 almost five years to be fixed), and c) because the Mozilla people (and various others) react with barely-contained disdain towards people who have the far-out notion that the user should be able to control the automatic playback of media on their own computer.

It's really simple and straightforward, but the fact that Mozilla continues to entertain the ideas of the "content providers" (people who want to play their unwelcome noise in the privacy of someone's home) as having equal (or, honestly, any) weight against the wishes of users who ... do not want this, is leading to the frustration, and the "aggressive tone".

If you read the comments on #659285, it's very clear that there is a non-zero number of Mozilla employees who think that we should pay any attention people who advocate for blatant disregard of the user's explicitly stated preference. 

Please understand where the frustration comes from. If you press the mute button on your TV, and somehow this turned the volume to full blast, you'd be upset. Yet, this simple concept gets lost in all the hand-waving.
(Reporter)

Comment 8

3 years ago
I went through all about:config options and disabled everything that looked related - and no more autoplay so far. As collateral damage I am pretty sure
that all sorts of "multimedia" have been broken which does not worry me at 
all.

Possibly it was 

  media.gstreamer.enabled

which did the trick for me but I also manipulated media.cache_size and 
media.cache_readahead_limit to make sure nothing is prefetched without
my knowledge.

However nothing of this should be necessary if media.autoplay.enabled=false 
and media.autoplay.enabled should imho be easily accessible in settings.
media.autoplay.enabled=false correctly pauses YouTube videos on youtube.com for me with Firefox 44 on OS X and Windows, though it prevents YouTube videos embedded on other websites from being able to play. (That is known bug 1217438.)
(Reporter)

Comment 10

3 years ago
(In reply to Chris Peterson [:cpeterson] from comment #9)
> media.autoplay.enabled=false correctly pauses YouTube videos on youtube.com
> for me with Firefox 44 on OS X and Windows, though it prevents YouTube
> videos embedded on other websites from being able to play. (That is known
> bug 1217438.)

is the problem possibly in gstreamer specific code?
(In reply to Richard Z. from comment #10)
> is the problem possibly in gstreamer specific code?

We no longer use gstreamer by default on Linux. We call ffmpeg directly, if it is installed. But it does sound like there is a Linux-specific problem.
(Reporter)

Comment 12

3 years ago
(In reply to Chris Peterson [:cpeterson] from comment #11)
> (In reply to Richard Z. from comment #10)
> > is the problem possibly in gstreamer specific code?
> 
> We no longer use gstreamer by default on Linux. We call ffmpeg directly, if
> it is installed. But it does sound like there is a Linux-specific problem.

it seems that the package has been built with

echo "ac_add_options --enable-gstreamer=1.0" >> .mozconfig

not sure where to start looking?
GStreamer is no longer supported so I'm going to close this bug. Feel free to re-open it if you have a non-gstreamer issue.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.