<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/106566/">http://git.reviewboard.kde.org/r/106566/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 29th, 2012, 12:26 p.m., <b>Matěj Laitl</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/106566/diff/1/?file=87102#file87102line42" style="color: black; font-weight: bold; text-decoration: underline;">core/Player.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">42</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="nl">signals:</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">43</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="kt">void</span> <span class="n">stateChanged</span><span class="p">(</span><span class="n">State</span> <span class="n">newState</span><span class="p">,</span> <span class="n">State</span> <span class="n">oldState</span><span class="p">);</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">44</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="kt">void</span> <span class="n">finished</span><span class="p">();</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">aboutToFinish() gone?

I wanted to comment on aboutToFinish() - it is currently very tricky to use that because currently it is sometimes emitted twice or not at all per one media source. I'd like if the docs would somehow limit this behaviour.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">abouttofinish needs an entire redesign... also it needs to be moved to the queue IMHO, as the signal's merit is to queue a new track before the queue runs out

also it definitely needs precise documentation as it will likely become a foreign thread signal. i.e. gstreamer expects the next source to be set while its callback is blocked, so this is pretty much the only signal where we must force direct connections</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 29th, 2012, 12:26 p.m., <b>Matěj Laitl</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/106566/diff/1/?file=87104#file87104line44" style="color: black; font-weight: bold; text-decoration: underline;">core/Queue.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class Queue {</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">44</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="kt">void</span> <span class="n">handleAboutToFinish</span><span class="p">()</span> <span class="p">{</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">45</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="n">m_player</span><span class="o">-></span><span class="n">setSource</span><span class="p">(</span><span class="n">m_items</span><span class="p">.</span><span class="n">takeFirst</span><span class="p">());</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">46</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="p">}</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Eya, is this a symbolic code? Otherwise this looks like it would cut the track if aboutToFinish is emitted prematurely etc.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">actually it would not... setting a source is independent of playback (or it should be). so if you have a static playlist you even with phonon4 could do:

run:
connectOnPlaying()
setSource(A)
play()

onPlaying:
connectOnStopped()
setSource(B)

onStopped:
play()</pre>
<br />




<p>- Harald</p>


<br />
<p>On September 25th, 2012, 11:06 a.m., Harald Sitter wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Amarok and Phonon.</div>
<div>By Harald Sitter.</div>


<p style="color: grey;"><i>Updated Sept. 25, 2012, 11:06 a.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">phonon phive core frontend api</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>core/AudioDataOutput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/AudioDataOutput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/AudioOutput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/AudioOutput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/BackendCapabilities.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/BackendCapabilities.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/OutputEffect.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/OutputEffect.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Player.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Player.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Queue.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Queue.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Source.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/Source.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/VideoDataOutput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/VideoDataOutput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractAudioOutput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractAudioOutput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractMediaStream.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractMediaStream.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractVideoOutput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/abstract/AbstractVideoOutput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/core.pro <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/effects/SubtitleEffect.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/effects/SubtitleEffect.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/five_global.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106566/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>