Gapless playback xineliboutilla

Juttua VDR:n ja VDR pluginien patcheistä

Gapless playback xineliboutilla

ViestiKirjoittaja phelin » 22.07.2007 12:56

Tein pienen pätsin, joka muuttaa xineliboutputin media-soittimen toiston "gapless":ksi. Testatessani vdr-sxfe:llä kappaleiden väliin kuitenkin silloin tällöin tuli pieni tauko. Niinpä toivonkin, että joku muukin testaisi pätsiä, josko kyse olisi vain toistamastani materiaalista (flac-tiedostoja).

Pätsin jälkeen xineliboutput.n frontendit täytyy kääntää uudestaan, mutta ei itse pluginia. Eli näin.

cd <xineliboutput>
aja pätsi
make frontends
make install tai sudo make install

Edit:
uusi versio, jonka myötä gapless pitäisi tosiaan onnistua.
Koodi: Valitse kaikki
--- xine_input_vdr.c.orig       2007-07-22 16:47:45.000000000 +0300
+++ xine_input_vdr.c    2007-07-22 16:52:42.000000000 +0300
@@ -2759,7 +2759,10 @@
       xine_event_create_listener_thread (this->slave_event_queue,
                                         vdr_event_cb, this);
     }
-
+#if defined(XINE_PARAM_EARLY_FINISHED_EVENT)
+  if(xine_check_version(1,1,1))
+      xine_set_param(this->slave_stream, XINE_PARAM_EARLY_FINISHED_EVENT, 1);
+#endif
     errno = 0;
     err = !xine_open(this->slave_stream, filename);
     if(err) {
@@ -3994,6 +3997,10 @@
 #endif
       } else if(event->stream == this->slave_stream) {
        LOGMSG("XINE_EVENT_UI_PLAYBACK_FINISHED (slave stream)");
+#if defined(XINE_PARAM_GAPLESS_SWITCH)
+        if( xine_check_version(1,1,1) )
+          xine_set_param(this->slave_stream, XINE_PARAM_GAPLESS_SWITCH, 1);
+#endif
        if(this->fd_control >= 0) {
          write_control(this, "ENDOFSTREAM\r\n");
        } else {
Avatar
phelin
Yli-ihminen
 
Viestit: 1256
Liittynyt: 09.02.2005 3:00
Paikkakunta: Helsinki

Paluu Patchit

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa

cron