New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 859583 link

Starred by 1 user

Issue metadata

Status: Closed
Owner: ----
Closed: Nov 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Mac
Pri: 2
Type: Bug



Sign in to add a comment

[PiP] Window closes when PiP window is paused on Hulu.

Project Member Reported by apaci...@chromium.org, Jul 2

Issue description

I'm seeing this behavior:
1. Navigate to video.
2. Launch PiP. (play the video -- can be playing before launching)
3. Pause video in PiP window.
4. Wait ~5 seconds. PiP window closes without user gesture and video begins playback in the tab.

This does NOT repro when playback is paused in the tab.

Repros on: Hulu (movie or television episode)
 
I don't have a hulu account to reproduce.
Can you provide about:media-internals logs as well?

I suspect that pausing video in the tab is doing more than just `video.pause()`.

Hopefully https://chromium-review.googlesource.com/c/chromium/src/+/1089331 will help.

Comment 2 Deleted

Specific repro:
1. Launch browser.
2. Navigate to hulu.com
3. Open Lord of the Rings movie.
4. Wait through ads.
5. Right click to enter PiP.
6. Press "Pause" on the PiP window.
7. Observe video is paused. Wait a few seconds and notice PiP window closes automatically.

about:media-internals logs:
{
  "11:0": {
    "id": "11:0",
    "properties": {
      "render_id": 11,
      "player_id": 0,
      "origin_url": "https://new.hulu.com/",
      "frame_url": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3",
      "frame_title": "Stream TV and Movies Live and On Demand | Hulu",
      "url": "blob:https://new.hulu.com/546a2b00-6ee8-4ceb-81da-02fd3641a1e6",
      "info": "Selected DecryptingVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1280,720] visible rect: [0,0,1280,720] natural size: [1280,720] has extra data? false encryption scheme: CENC rotation: 0°",
      "pipeline_state": "kStopped",
      "has_cdm": true,
      "found_audio_stream": true,
      "audio_codec_name": "aac",
      "found_video_stream": true,
      "video_codec_name": "h264",
      "audio_dds": true,
      "audio_decoder": "FFmpegAudioDecoder",
      "debug": "Video rendering in low delay mode.",
      "video_dds": false,
      "video_decoder": "DecryptingVideoDecoder",
      "seek_target": 8776,
      "audio_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "height": 720,
      "width": 1280,
      "video_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "for_suspended_start": false,
      "pipeline_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "duration": 10701.983,
      "event": "WEBMEDIAPLAYER_DESTROYED"
    },
    "allEvents": [
      {
        "time": 0,
        "key": "origin_url",
        "value": "https://new.hulu.com/"
      },
      {
        "time": 0.019999980926513672,
        "key": "frame_url",
        "value": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3"
      },
      {
        "time": 0.023999929428100586,
        "key": "frame_title",
        "value": "Stream TV and Movies Live and On Demand | Hulu"
      },
      {
        "time": 0.26899993419647217,
        "key": "url",
        "value": "blob:https://new.hulu.com/546a2b00-6ee8-4ceb-81da-02fd3641a1e6"
      },
      {
        "time": 0.35099995136260986,
        "key": "info",
        "value": "ChunkDemuxer: buffering by DTS"
      },
      {
        "time": 5.014999985694885,
        "key": "pipeline_state",
        "value": "kStarting"
      },
      {
        "time": 43.14099991321564,
        "key": "has_cdm",
        "value": true
      },
      {
        "time": 243.99000000953674,
        "key": "found_audio_stream",
        "value": true
      },
      {
        "time": 243.99399995803833,
        "key": "audio_codec_name",
        "value": "aac"
      },
      {
        "time": 534.3399999141693,
        "key": "found_video_stream",
        "value": true
      },
      {
        "time": 534.3479999303818,
        "key": "video_codec_name",
        "value": "h264"
      },
      {
        "time": 541.6790000200272,
        "key": "audio_dds",
        "value": true
      },
      {
        "time": 541.6849999427795,
        "key": "audio_decoder",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 541.7079999446869,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 2 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? false encryption scheme: Unencrypted discard decoder delay? false"
      },
      {
        "time": 542.5,
        "key": "debug",
        "value": "Video rendering in low delay mode."
      },
      {
        "time": 551.6899999380112,
        "key": "video_dds",
        "value": false
      },
      {
        "time": 551.694000005722,
        "key": "video_decoder",
        "value": "DecryptingVideoDecoder"
      },
      {
        "time": 551.7339999675751,
        "key": "info",
        "value": "Selected DecryptingVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1280,720] visible rect: [0,0,1280,720] natural size: [1280,720] has extra data? false encryption scheme: CENC rotation: 0°"
      },
      {
        "time": 551.7669999599457,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 583.805999994278,
        "key": "seek_target",
        "value": 8776
      },
      {
        "time": 583.8880000114441,
        "key": "pipeline_state",
        "value": "kSeeking"
      },
      {
        "time": 584.0210000276566,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 674.5410000085831,
        "key": "audio_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 938.8650000095367,
        "key": "height",
        "value": 720
      },
      {
        "time": 938.8650000095367,
        "key": "width",
        "value": 1280
      },
      {
        "time": 939.2179999351501,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 939.2659999132156,
        "key": "for_suspended_start",
        "value": false
      },
      {
        "time": 939.2659999132156,
        "key": "pipeline_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 93.72500002384186,
        "key": "duration",
        "value": 10701.983
      },
      {
        "time": 15946.254999995232,
        "key": "pipeline_state",
        "value": "kSuspending"
      },
      {
        "time": 15946.705999970436,
        "key": "pipeline_state",
        "value": "kSuspended"
      },
      {
        "time": 32069.829999923706,
        "key": "info",
        "value": "Effective playback rate changed from 0 to 1"
      },
      {
        "time": 32069.9659999609,
        "key": "event",
        "value": "PLAY"
      },
      {
        "time": 32070.037999987602,
        "key": "pipeline_state",
        "value": "kResuming"
      },
      {
        "time": 32073.31499993801,
        "key": "audio_dds",
        "value": true
      },
      {
        "time": 32073.322000026703,
        "key": "audio_decoder",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 32073.34899997711,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 2 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? false encryption scheme: Unencrypted discard decoder delay? false"
      },
      {
        "time": 32073.416000008583,
        "key": "debug",
        "value": "Video rendering in low delay mode."
      },
      {
        "time": 32080.5909999609,
        "key": "video_dds",
        "value": false
      },
      {
        "time": 32080.59599995613,
        "key": "video_decoder",
        "value": "DecryptingVideoDecoder"
      },
      {
        "time": 32080.62000000477,
        "key": "info",
        "value": "Selected DecryptingVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1280,720] visible rect: [0,0,1280,720] natural size: [1280,720] has extra data? false encryption scheme: CENC rotation: 0°"
      },
      {
        "time": 32080.65999996662,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 32087.740000009537,
        "key": "audio_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 32310.230999946594,
        "key": "height",
        "value": 720
      },
      {
        "time": 32310.230999946594,
        "key": "width",
        "value": 1280
      },
      {
        "time": 32310.74500000477,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 32310.850999951363,
        "key": "for_suspended_start",
        "value": false
      },
      {
        "time": 32310.850999951363,
        "key": "pipeline_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 33631.952999949455,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_NOTHING"
      },
      {
        "time": 33632.07299995422,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 35325.19299995899,
        "key": "event",
        "value": "PAUSE"
      },
      {
        "time": 45421.385999917984,
        "key": "pipeline_state",
        "value": "kStopping"
      },
      {
        "time": 45422.453999996185,
        "key": "pipeline_state",
        "value": "kStopped"
      },
      {
        "time": 45423.61599993706,
        "key": "event",
        "value": "WEBMEDIAPLAYER_DESTROYED"
      }
    ],
    "lastRendered": 0,
    "firstTimestamp_": 1050968585.919,
    "destructed": true
  },
  "11:4": {
    "id": "11:4",
    "properties": {
      "render_id": 11,
      "player_id": 4,
      "origin_url": "https://new.hulu.com/",
      "frame_url": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3",
      "frame_title": "Stream TV and Movies Live and On Demand | Hulu",
      "url": "https://ads-v-darwin.hulustream.com/published/2018/5/7/8/SNOGNO302016RH_AdsTranscode_16x9_13489821_67126100_H264_1000.mp4",
      "total_bytes": 3762115,
      "streaming": false,
      "single_origin": true,
      "passed_cors_access_check": false,
      "range_header_supported": true,
      "pipeline_state": "kStopped",
      "info": "Effective playback rate changed from 0 to 1",
      "audio_channels_count": 2,
      "audio_codec_name": "aac",
      "audio_sample_format": "Float 32-bit planar",
      "audio_samples_per_second": 48000,
      "bitrate": 997710,
      "found_audio_stream": true,
      "found_video_stream": true,
      "height": 396,
      "max_duration": 30.166,
      "start_time": 0,
      "time_base": "1/24000",
      "video_codec_name": "h264",
      "video_format": "PIXEL_FORMAT_I420",
      "video_is_encrypted": false,
      "width": 704,
      "audio_dds": false,
      "audio_decoder": "FFmpegAudioDecoder",
      "video_dds": false,
      "video_decoder": "FFmpegVideoDecoder",
      "audio_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "video_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "for_suspended_start": false,
      "pipeline_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "event": "WEBMEDIAPLAYER_DESTROYED",
      "duration": 30.166,
      "debug": "FFmpegDemuxer: av_read_frame(): End of file"
    },
    "allEvents": [
      {
        "time": 0,
        "key": "origin_url",
        "value": "https://new.hulu.com/"
      },
      {
        "time": 0.01100003719329834,
        "key": "frame_url",
        "value": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3"
      },
      {
        "time": 0.0140000581741333,
        "key": "frame_title",
        "value": "Stream TV and Movies Live and On Demand | Hulu"
      },
      {
        "time": 0.1260000467300415,
        "key": "url",
        "value": "https://ads-v-darwin.hulustream.com/published/2018/5/7/8/SNOGNO302016RH_AdsTranscode_16x9_13489821_67126100_H264_1000.mp4"
      },
      {
        "time": 267.89800000190735,
        "key": "total_bytes",
        "value": 3762115
      },
      {
        "time": 267.90700006484985,
        "key": "streaming",
        "value": false
      },
      {
        "time": 267.90900003910065,
        "key": "single_origin",
        "value": true
      },
      {
        "time": 267.90900003910065,
        "key": "passed_cors_access_check",
        "value": false
      },
      {
        "time": 267.9099999666214,
        "key": "range_header_supported",
        "value": true
      },
      {
        "time": 268.01900005340576,
        "key": "pipeline_state",
        "value": "kStarting"
      },
      {
        "time": 424.0789999961853,
        "key": "info",
        "value": "FFmpegDemuxer: created video stream, config codec: h264 format: 1 profile: h264 high coded size: [704,396] visible rect: [0,0,704,396] natural size: [704,396] has extra data? true encryption scheme: Unencrypted rotation: 0°"
      },
      {
        "time": 424.18800008296967,
        "key": "info",
        "value": "FFmpegDemuxer: created audio stream, config codec: aac bytes_per_channel: 4 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 6 bytes_per_frame: 8 seek_preroll: 0ms codec_delay: 0 has extra data? true encryption scheme: Unencrypted discard decoder delay? true"
      },
      {
        "time": 424.2829999923706,
        "key": "audio_channels_count",
        "value": 2
      },
      {
        "time": 424.2829999923706,
        "key": "audio_codec_name",
        "value": "aac"
      },
      {
        "time": 424.2829999923706,
        "key": "audio_sample_format",
        "value": "Float 32-bit planar"
      },
      {
        "time": 424.2829999923706,
        "key": "audio_samples_per_second",
        "value": 48000
      },
      {
        "time": 424.2829999923706,
        "key": "bitrate",
        "value": 997710
      },
      {
        "time": 424.2829999923706,
        "key": "found_audio_stream",
        "value": true
      },
      {
        "time": 424.2829999923706,
        "key": "found_video_stream",
        "value": true
      },
      {
        "time": 424.2829999923706,
        "key": "height",
        "value": 396
      },
      {
        "time": 424.2829999923706,
        "key": "max_duration",
        "value": 30.166
      },
      {
        "time": 424.2829999923706,
        "key": "start_time",
        "value": 0
      },
      {
        "time": 424.2829999923706,
        "key": "time_base",
        "value": "1/24000"
      },
      {
        "time": 424.2829999923706,
        "key": "video_codec_name",
        "value": "h264"
      },
      {
        "time": 424.2829999923706,
        "key": "video_format",
        "value": "PIXEL_FORMAT_I420"
      },
      {
        "time": 424.2829999923706,
        "key": "video_is_encrypted",
        "value": false
      },
      {
        "time": 424.2829999923706,
        "key": "width",
        "value": 704
      },
      {
        "time": 425.01700007915497,
        "key": "audio_dds",
        "value": false
      },
      {
        "time": 425.0199999809265,
        "key": "audio_decoder",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 425.0310000181198,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 4 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 6 bytes_per_frame: 8 seek_preroll: 0ms codec_delay: 0 has extra data? true encryption scheme: Unencrypted discard decoder delay? true"
      },
      {
        "time": 425.6840000152588,
        "key": "video_dds",
        "value": false
      },
      {
        "time": 425.70300006866455,
        "key": "video_decoder",
        "value": "FFmpegVideoDecoder"
      },
      {
        "time": 425.71600008010864,
        "key": "info",
        "value": "Selected FFmpegVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [704,396] visible rect: [0,0,704,396] natural size: [704,396] has extra data? true encryption scheme: Unencrypted rotation: 0°"
      },
      {
        "time": 425.86699998378754,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 435.80400002002716,
        "key": "height",
        "value": 396
      },
      {
        "time": 435.80400002002716,
        "key": "width",
        "value": 704
      },
      {
        "time": 440.9839999675751,
        "key": "audio_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 441.14600002765656,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 441.1980000734329,
        "key": "for_suspended_start",
        "value": false
      },
      {
        "time": 441.1980000734329,
        "key": "pipeline_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 441.335000038147,
        "key": "info",
        "value": "Effective playback rate changed from 0 to 1"
      },
      {
        "time": 441.4559999704361,
        "key": "event",
        "value": "PLAY"
      },
      {
        "time": 424.25300002098083,
        "key": "duration",
        "value": 30.166
      },
      {
        "time": 28011.674000024796,
        "key": "debug",
        "value": "FFmpegDemuxer: av_read_frame(): End of file"
      },
      {
        "time": 30711.25,
        "key": "event",
        "value": "ENDED"
      },
      {
        "time": 30711.478000044823,
        "key": "event",
        "value": "PAUSE"
      },
      {
        "time": 31408.175000071526,
        "key": "pipeline_state",
        "value": "kStopping"
      },
      {
        "time": 31410.91100001335,
        "key": "pipeline_state",
        "value": "kStopped"
      },
      {
        "time": 31411.78299999237,
        "key": "event",
        "value": "WEBMEDIAPLAYER_DESTROYED"
      }
    ],
    "lastRendered": 0,
    "firstTimestamp_": 1050969089.576,
    "destructed": true
  },
  "11:5": {
    "id": "11:5",
    "properties": {
      "render_id": 11,
      "player_id": 5,
      "origin_url": "https://new.hulu.com/",
      "frame_url": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3",
      "frame_title": "Stream TV and Movies Live and On Demand | Hulu",
      "url": "blob:https://new.hulu.com/dc6a0130-3a57-42f6-a086-608dba2a83a0",
      "info": "Effective playback rate changed from 0 to 1",
      "pipeline_state": "kPlaying",
      "has_cdm": true,
      "found_audio_stream": true,
      "audio_codec_name": "aac",
      "found_video_stream": true,
      "video_codec_name": "h264",
      "audio_dds": true,
      "audio_decoder": "FFmpegAudioDecoder",
      "debug": "Video rendering in low delay mode.",
      "seek_target": 8778.925165,
      "video_dds": false,
      "video_decoder": "DecryptingVideoDecoder",
      "audio_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "height": 720,
      "width": 1280,
      "video_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "for_suspended_start": false,
      "pipeline_buffering_state": "BUFFERING_HAVE_ENOUGH",
      "event": "PLAY",
      "duration": 10701.983
    },
    "allEvents": [
      {
        "time": 0,
        "key": "origin_url",
        "value": "https://new.hulu.com/"
      },
      {
        "time": 0.01700007915496826,
        "key": "frame_url",
        "value": "https://new.hulu.com/watch/1ac0b42c-6f5b-4d7f-8376-863e0d58efa3"
      },
      {
        "time": 0.02200007438659668,
        "key": "frame_title",
        "value": "Stream TV and Movies Live and On Demand | Hulu"
      },
      {
        "time": 0.15999996662139893,
        "key": "url",
        "value": "blob:https://new.hulu.com/dc6a0130-3a57-42f6-a086-608dba2a83a0"
      },
      {
        "time": 0.24300003051757812,
        "key": "info",
        "value": "ChunkDemuxer: buffering by DTS"
      },
      {
        "time": 0.31000006198883057,
        "key": "pipeline_state",
        "value": "kStarting"
      },
      {
        "time": 10.97000002861023,
        "key": "has_cdm",
        "value": true
      },
      {
        "time": 30.128000020980835,
        "key": "found_audio_stream",
        "value": true
      },
      {
        "time": 30.133000016212463,
        "key": "audio_codec_name",
        "value": "aac"
      },
      {
        "time": 51.70800006389618,
        "key": "found_video_stream",
        "value": true
      },
      {
        "time": 51.71300005912781,
        "key": "video_codec_name",
        "value": "h264"
      },
      {
        "time": 54.236000061035156,
        "key": "audio_dds",
        "value": true
      },
      {
        "time": 54.24000000953674,
        "key": "audio_decoder",
        "value": "FFmpegAudioDecoder"
      },
      {
        "time": 54.259000062942505,
        "key": "info",
        "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 2 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? false encryption scheme: Unencrypted discard decoder delay? false"
      },
      {
        "time": 54.29700005054474,
        "key": "debug",
        "value": "Video rendering in low delay mode."
      },
      {
        "time": 87.00100004673004,
        "key": "seek_target",
        "value": 8778.925165
      },
      {
        "time": 119.23500001430511,
        "key": "video_dds",
        "value": false
      },
      {
        "time": 119.28100001811981,
        "key": "video_decoder",
        "value": "DecryptingVideoDecoder"
      },
      {
        "time": 119.31000006198883,
        "key": "info",
        "value": "Selected DecryptingVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1280,720] visible rect: [0,0,1280,720] natural size: [1280,720] has extra data? false encryption scheme: CENC rotation: 0°"
      },
      {
        "time": 119.34600007534027,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 119.45800006389618,
        "key": "pipeline_state",
        "value": "kSeeking"
      },
      {
        "time": 119.58800005912781,
        "key": "pipeline_state",
        "value": "kPlaying"
      },
      {
        "time": 132.16600000858307,
        "key": "audio_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 171.1119999885559,
        "key": "height",
        "value": 720
      },
      {
        "time": 171.1119999885559,
        "key": "width",
        "value": 1280
      },
      {
        "time": 171.56500005722046,
        "key": "video_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 171.62199997901917,
        "key": "for_suspended_start",
        "value": false
      },
      {
        "time": 171.62199997901917,
        "key": "pipeline_buffering_state",
        "value": "BUFFERING_HAVE_ENOUGH"
      },
      {
        "time": 171.75400006771088,
        "key": "info",
        "value": "Effective playback rate changed from 0 to 1"
      },
      {
        "time": 171.8730000257492,
        "key": "event",
        "value": "PLAY"
      },
      {
        "time": 17.703999996185303,
        "key": "duration",
        "value": 10701.983
      }
    ],
    "lastRendered": 0,
    "firstTimestamp_": 1051014040.576
  }
}
It looks like the HTMLMediaElement is reset -- stack traces below:

PIP CLOSURE:
#1 0x7f5ee4882452 content::PictureInPictureWindowControllerImpl::Close()
#2 0x56367fd7c946 PictureInPictureWindowManager::ExitPictureInPicture()
#3 0x7f5ee4855364 content::MediaWebContentsObserver::OnPictureInPictureModeEnded()
#4 0x7f5ee485524f _ZN3IPC8MessageTI59MediaPlayerDelegateHostMsg_OnPictureInPictureModeEnded_MetaNSt3__15tupleIJiiEEEvE8DispatchIN7content24MediaWebContentsObserverES8_NS7_15RenderFrameHostEMS8_FvPS9_iiEEEbPKNS_7MessageEPT_PT0_PT1_T2_
#5 0x7f5ee4854258 content::MediaWebContentsObserver::OnMessageReceived()
#6 0x7f5ee49e68cd content::WebContentsImpl::OnMessageReceived()
#7 0x7f5ee4771b4d content::RenderFrameHostImpl::OnMessageReceived()
#8 0x7f5ee64c0f2b IPC::ChannelProxy::Context::OnDispatchMessage()
#9 0x7f5ee62d6469 base::debug::TaskAnnotator::RunTask()
#10 0x7f5ee62f7bd7 base::MessageLoop::RunTask()
#11 0x7f5ee62f81b7 base::MessageLoop::DoWork()
#12 0x7f5ee62f99af base::(anonymous namespace)::WorkSourceDispatch()
#13 0x7f5edc40ff07 g_main_context_dispatch
#14 0x7f5edc410138 <unknown>
#15 0x7f5edc4101cc g_main_context_iteration
#16 0x7f5ee62f97f2 base::MessagePumpGlib::Run()
#17 0x7f5ee631dc55 base::RunLoop::Run()
#18 0x56367ef60e8b ChromeBrowserMainParts::MainMessageLoopRun()
#19 0x7f5ee4640657 content::BrowserMainLoop::RunMainMessageLoopParts()
#20 0x7f5ee46431f2 content::BrowserMainRunnerImpl::Run()
#21 0x7f5ee463cd9b content::BrowserMain()
#22 0x7f5ee4e8c0d1 content::ContentMainRunnerImpl::Run()
#23 0x7f5ee65e065a service_manager::Main()
#24 0x7f5ee4e8a154 content::ContentMain()
#25 0x56367eb261b3 ChromeMain
#26 0x7f5edab012b1 __libc_start_main
#27 0x56367eb2602a _start

Initiator (other side of) IPC call:
#1 0x7f4e86b020c0 media::WebMediaPlayerImpl::~WebMediaPlayerImpl()
#2 0x7f4e86b0287e media::WebMediaPlayerImpl::~WebMediaPlayerImpl()
#3 0x7f4e8c31b963 blink::HTMLMediaElement::ResetMediaPlayerAndMediaSource()
#4 0x7f4e8c31a254 blink::HTMLMediaElement::InvokeLoadAlgorithm()
#5 0x7f4e8cffd561 v8::internal::FunctionCallbackArguments::Call()
#6 0x7f4e8cffca56 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#7 0x7f4e8cffc166 v8::internal::Builtin_Impl_HandleApiCall()
#8 0x7f4e8d78232e <unknown>
The media player* is reset, so PiP is closed when WMPI is torn down even though there isn't anything noticeable on the tab page.
Do you see the media player destroyed as well when simply calling "document.querySelector('video').pause();" in DevTools JavaScript console? No PiP involved.
Yes, I do see that. The movie then resumes to play after the media player is destroyed.
Status: ExternalDependency (was: Assigned)
Summary: [PiP] Window closes when PiP window is paused on Hulu. (was: [PiP] Window closes when PiP window is paused.)
Cc: apaci...@chromium.org
Labels: -M-69 FoundIn-69
Owner: fbeaufort@chromium.org
fbeaufort@, would it be possible for you or Anshal to reach out to Hulu?
Cc: fbeaufort@chromium.org
Owner: ----
Aanchal reached out to Hulu.
Status: Closed (was: ExternalDependency)
Hulu folks are now aware of this issue and will fix it.

Sign in to add a comment