<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>48824</bug_id>
          
          <creation_ts>2010-11-02 02:19:13 -0700</creation_ts>
          <short_desc>[GStreamer] pause webkitvideosink during fullscreen video playback</short_desc>
          <delta_ts>2010-11-24 09:53:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>menard</cc>
    
    <cc>slomo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303270</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-02 02:19:13 -0700</bug_when>
    <thetext>Because the fullscreen video sink (autovideosink) takes the whole screen estate anyway and it doesn&apos;t make much sense to have the webkitvideosink rolling if it&apos;s not visible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303277</commentid>
    <comment_count>1</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2010-11-02 02:40:45 -0700</bug_when>
    <thetext>The current video sink pipeline is essentially like:

         ----- webkitvideosink
tee --|
         ----- fullscreenvideosink

right?

So there are two possibilities here. Either you only link in the required sink when it&apos;s required or you add a &quot;do nothing&quot; mode to the sinks where they get the buffers but don&apos;t display them.

Linking only when required is probably the cleaner and better solution but requires some work. You have to add an element before the tee (or a data/event probe on the tee&apos;s sinkpad) to keep track of the currently configured segment, running time, etc. And then when linking in the new sink you have to tell the sink about the segment and the running time via multiple newsegment events (details follow when you need them). Also you have to use pad-blocks for the re-linking, otherwise stuff will explode because the tee is not linked anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303278</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-02 02:46:55 -0700</bug_when>
    <thetext>I had some success adding identity before webkitvideosink and dropping the buffers when required. So the video appears paused in the webkitvideosink while autovideosink in fullscreen works fine.

When I close the fullscreen window I configure identity to let buffers pass through again.

I agree this is probably not the best solution though ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303282</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-02 02:56:45 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; The current video sink pipeline is essentially like:
&gt; 
&gt;          ----- webkitvideosink
&gt; tee --|
&gt;          ----- fullscreenvideosink
&gt; 
&gt; right?
&gt; 

Well I add the fullscreen videosink (autovideosink) only when required (enterFullscreen) and I remove it during exitFullscreen().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303284</commentid>
    <comment_count>4</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2010-11-02 03:01:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Well I add the fullscreen videosink (autovideosink) only when required (enterFullscreen) and I remove it during exitFullscreen().

And you don&apos;t get any interesting problems with QoS or A/V sync or warnings about missing newsegment events?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303287</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-02 03:07:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Well I add the fullscreen videosink (autovideosink) only when required (enterFullscreen) and I remove it during exitFullscreen().
&gt; 
&gt; And you don&apos;t get any interesting problems with QoS or A/V sync or warnings about missing newsegment events?

In enterFullscreen() I get the current position, format, rate, start/stop values and create a new-segment event that I push to the new tee srcpad.

Haven&apos;t noticed issues yet, IIRC you reviewed that code :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303347</commentid>
    <comment_count>6</comment_count>
      <attachid>72660</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-02 07:10:46 -0700</bug_when>
    <thetext>Created attachment 72660
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303634</commentid>
    <comment_count>7</comment_count>
      <attachid>72660</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2010-11-02 13:58:13 -0700</bug_when>
    <thetext>Comment on attachment 72660
proposed patch

I tested that patch and it works like a charm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313254</commentid>
    <comment_count>8</comment_count>
      <attachid>72660</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-11-24 05:35:06 -0800</bug_when>
    <thetext>Comment on attachment 72660
proposed patch

Seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313354</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-24 09:50:37 -0800</bug_when>
    <thetext>Committed r72679: &lt;http://trac.webkit.org/changeset/72679&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313355</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-24 09:53:59 -0800</bug_when>
    <thetext>I meant http://trac.webkit.org/changeset/72680 :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72660</attachid>
            <date>2010-11-02 07:10:46 -0700</date>
            <delta_ts>2010-11-24 05:35:06 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>4428</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBiMTdkNWExZjhhMTVhYWJhNmViODUwNmExMzA4Zjk5MTdmMjFhNDg4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDIgTm92IDIwMTAgMTA6NTY6MjQgKzAxMDAKU3ViamVjdDogW1BBVENIXSBw
cm9wb3NlZCBwYXRjaAoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKysrKysrKysrKysKIC4uLi9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyR1dvcmxkLmNwcCAgICAgICAgIHwgICAgNyArKysrKysrCiAuLi4vZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgIDUgKysrLS0K
IDMgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk2NmZk
MjcuLjIwNzNkNWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTEtMDIgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtHU3RyZWFtZXJdIHBhdXNlIHdlYmtpdHZpZGVvc2luayBkdXJpbmcg
ZnVsbHNjcmVlbiB2aWRlbyBwbGF5YmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDg4MjQKKworICAgICAgICBBZGRlZCBhbiBpZGVudGl0eSBlbGVt
ZW50IGJlZm9yZSB0aGUgd2Via2l0dmlkZW9zaW5rIHNvIHRoYXQgd2hlbgorICAgICAgICBmdWxs
c2NyZWVuIHZpZGVvIGlzIGFjdGl2ZSB0aGUgZWxlbWVudCBjYW4gZHJvcCB0aGUgaW5jb21pbmcK
KyAgICAgICAgYnVmZmVycyBzbyB0aGF0IHdlYmtpdHZpZGVvc2luayBhcHBlYXJzIHBhdXNlZC4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJHV29ybGQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyR1dvcmxkOjplbnRlckZ1bGxzY3JlZW4p
OgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyR1dvcmxkOjpleGl0RnVsbHNjcmVlbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorCiAyMDEwLTExLTAxICBNT1JJVEEgSGFqaW1lICA8bW9y
cml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyR1dv
cmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckdX
b3JsZC5jcHAKaW5kZXggMWNiNTYxZS4uYjE4YmY4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyR1dvcmxkLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJHV29ybGQuY3BwCkBAIC04Nyw2
ICs4Nyw5IEBAIGJvb2wgR1N0cmVhbWVyR1dvcmxkOjplbnRlckZ1bGxzY3JlZW4oKQogICAgIEdP
d25QdHI8R3N0RWxlbWVudD4gdmlkZW9TaW5rOwogICAgIGdfb2JqZWN0X2dldChtX3BpcGVsaW5l
LCAidmlkZW8tc2luayIsICZ2aWRlb1Npbmsub3V0UHRyKCksIE5VTEwpOwogICAgIEdzdEVsZW1l
bnQqIHRlZSA9IGdzdF9iaW5fZ2V0X2J5X25hbWUoR1NUX0JJTih2aWRlb1NpbmsuZ2V0KCkpLCAi
dmlkZW9UZWUiKTsKKyAgICBHc3RFbGVtZW50KiB2YWx2ZSA9IGdzdF9iaW5fZ2V0X2J5X25hbWUo
R1NUX0JJTih2aWRlb1NpbmsuZ2V0KCkpLCAidmlkZW9WYWx2ZSIpOworCisgICAgZ19vYmplY3Rf
c2V0KHZhbHZlLCAiZHJvcC1wcm9iYWJpbGl0eSIsIDEuMCwgTlVMTCk7CiAKICAgICAvLyBBZGQg
YW5kIGxpbmsgYSBxdWV1ZSwgZmZtcGVnY29sb3JzcGFjZSBhbmQgc2luayBpbiB0aGUgYmluLgog
ICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTih2aWRlb1NpbmsuZ2V0KCkpLCBwbGF0Zm9ybVZp
ZGVvU2luaywgdmlkZW9TY2FsZSwgY29sb3JzcGFjZSwgcXVldWUsIE5VTEwpOwpAQCAtMTU4LDYg
KzE2MSwxMCBAQCB2b2lkIEdTdHJlYW1lckdXb3JsZDo6ZXhpdEZ1bGxzY3JlZW4oKQogICAgIEdz
dEVsZW1lbnQqIGNvbG9yc3BhY2UgPSBnc3RfYmluX2dldF9ieV9uYW1lKEdTVF9CSU4odmlkZW9T
aW5rLmdldCgpKSwgImNvbG9yc3BhY2UiKTsKICAgICBHc3RFbGVtZW50KiB2aWRlb1NjYWxlID0g
Z3N0X2Jpbl9nZXRfYnlfbmFtZShHU1RfQklOKHZpZGVvU2luay5nZXQoKSksICJ2aWRlb1NjYWxl
Iik7CiAKKyAgICBHc3RFbGVtZW50KiB2YWx2ZSA9IGdzdF9iaW5fZ2V0X2J5X25hbWUoR1NUX0JJ
Tih2aWRlb1NpbmsuZ2V0KCkpLCAidmlkZW9WYWx2ZSIpOworCisgICAgZ19vYmplY3Rfc2V0KHZh
bHZlLCAiZHJvcC1wcm9iYWJpbGl0eSIsIDAuMCwgTlVMTCk7CisKICAgICAvLyBHZXQgcGFkcyB0
byB1bmxpbmsgYW5kIHJlbW92ZS4KICAgICBHc3RQYWQqIHNyY1BhZCA9IGdzdF9lbGVtZW50X2dl
dF9zdGF0aWNfcGFkKHRlZSwgbV9keW5hbWljUGFkTmFtZSk7CiAgICAgR3N0UGFkKiBzaW5rUGFk
ID0gZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQocXVldWUsICJzaW5rIik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3MDEyYzlmLi5kYjE2NThiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE0MTIsNiArMTQxMiw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICBt
X3ZpZGVvU2lua0JpbiA9IGdzdF9iaW5fbmV3KCJzaW5rIik7CiAgICAgR3N0RWxlbWVudCogdmlk
ZW9UZWUgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoInRlZSIsICJ2aWRlb1RlZSIpOwogICAg
IEdzdEVsZW1lbnQqIHF1ZXVlID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJxdWV1ZSIsIDAp
OworICAgIEdzdEVsZW1lbnQqIGlkZW50aXR5ID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJp
ZGVudGl0eSIsICJ2aWRlb1ZhbHZlIik7CiAKICAgICAvLyBUYWtlIG93bmVyc2hpcC4KICAgICBn
X29iamVjdF9yZWZfc2luayhtX3ZpZGVvU2lua0Jpbik7CkBAIC0xNDIxLDcgKzE0MjIsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAg
Ly8gaW50ZXJuYWwgdmlkZW8gc2luay4gRm9yIGZ1bGxzY3JlZW4gd2UgY3JlYXRlIGFuIGF1dG92
aWRlb3NpbmsKICAgICAvLyBhbmQgaW5pdGlhbGx5IGJsb2NrIHRoZSBkYXRhIGZsb3cgdG93YXJk
cyBpdCBhbmQgY29uZmlndXJlIGl0CiAKLSAgICBnc3RfYmluX2FkZF9tYW55KEdTVF9CSU4obV92
aWRlb1NpbmtCaW4pLCB2aWRlb1RlZSwgcXVldWUsIE5VTEwpOworICAgIGdzdF9iaW5fYWRkX21h
bnkoR1NUX0JJTihtX3ZpZGVvU2lua0JpbiksIHZpZGVvVGVlLCBxdWV1ZSwgaWRlbnRpdHksIE5V
TEwpOwogCiAgICAgLy8gTGluayBhIG5ldyBzcmMgcGFkIGZyb20gdGVlIHRvIHF1ZXVlMS4KICAg
ICBHc3RQYWQqIHNyY1BhZCA9IGdzdF9lbGVtZW50X2dldF9yZXF1ZXN0X3BhZCh2aWRlb1RlZSwg
InNyYyVkIik7CkBAIC0xNDQ1LDcgKzE0NDYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAgICAgIH0KICAgICB9IGVsc2UgewogICAg
ICAgICBnc3RfYmluX2FkZChHU1RfQklOKG1fdmlkZW9TaW5rQmluKSwgbV93ZWJraXRWaWRlb1Np
bmspOwotICAgICAgICBnc3RfZWxlbWVudF9saW5rKHF1ZXVlLCBtX3dlYmtpdFZpZGVvU2luayk7
CisgICAgICAgIGdzdF9lbGVtZW50X2xpbmtfbWFueShxdWV1ZSwgaWRlbnRpdHksIG1fd2Via2l0
VmlkZW9TaW5rLCBOVUxMKTsKICAgICB9CiAKICAgICAvLyBBZGQgYSBnaG9zdHBhZCB0byB0aGUg
YmluIHNvIGl0IGNhbiBwcm94eSB0byB0ZWUuCi0tIAoxLjcuMi4z
</data>
<flag name="review"
          id="62943"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>