use AUDIO_GET_STC, VIDEO_GET_STC
[enigma2.git] / lib / dvb / dvb.cpp
index 11b1285a702d7cbec6dd6b8ed41137bbe0db1d56..4a3adf55a22adce81407c6c0ef506e9253b09784 100644 (file)
@@ -997,15 +997,19 @@ RESULT eDVBChannel::getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos, in
                return -1;
        
        pts_t now;
                return -1;
        
        pts_t now;
+       
        int r;
        int r;
-                       /* TODO: this is a gross hack. */
-       r = decoding_demux->getSTC(now, mode ? 128 : 0);
-
-       if (r)
+       
+       if (mode == 0) /* demux */
        {
        {
-               eDebug("demux getSTC failed");
-               return -1;
-       }
+               r = decoding_demux->getSTC(now, 0);
+               if (r)
+               {
+                       eDebug("demux getSTC failed");
+                       return -1;
+               }
+       } else
+               now = pos; /* fixup supplied */
        
        off_t off = 0; /* TODO: fixme */
        r = m_tstools.fixupPTS(off, now);
        
        off_t off = 0; /* TODO: fixme */
        r = m_tstools.fixupPTS(off, now);