Skip to content
Browse files

Merge branch 'master' into frodo

  • Loading branch information...
2 parents 528780f + e3cd383 commit 0482a89a81f3f3de8f61ac620abcd79c116e8a9d @opdenkamp committed
View
2 addons/Makefile.include.am
@@ -27,7 +27,7 @@ $(LIB): @BUILD_TYPE@
zip: $(LIB)
mkdir -p @abs_top_srcdir@/addons/.build
cp -r -f @abs_top_srcdir@/addons/$(ADDONNAME)/addon @abs_top_srcdir@/addons/.build/$(ADDONNAME)
- cd @abs_top_srcdir@/addons/.build ; zip -9 -x $(ADDONNAME)/addon.xml.in -r @abs_top_srcdir@/addons/$(ADDONNAME)-@OS@-@ARCHITECTURE@.zip $(ADDONNAME)
+ cd @abs_top_srcdir@/addons/.build ; zip -0 -x $(ADDONNAME)/addon.xml.in -r @abs_top_srcdir@/addons/$(ADDONNAME)-@OS@-@ARCHITECTURE@.zip $(ADDONNAME)
install: @BUILD_TYPE@
if IS_INTREE_BUILD
View
1 addons/pvr.argustv/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Fred Hoogduin, Marcel Groothuis">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.demo/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Pulse-Eight Ltd.">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.dvbviewer/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="jdembski, A600">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.hts/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Lars Op den Kamp, Team XBMC">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.mediaportal.tvserver/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Marcel Groothuis">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.mythtv.cmyth/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Christian Fetzer, Jean-Luc Barrière, Tonny Petersen">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
1 addons/pvr.nextpvr/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Graeme Blackley">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
4 addons/pvr.njoy/addon/addon.xml.in
@@ -4,6 +4,10 @@
version="1.6.1"
name="Njoy N7 PVR Client"
provider-name="Team XBMC">
+ <requires>
+ <c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
+ </requires>
<extension
point="xbmc.pvrclient"
library_osx="XBMC_Njoy.pvr"
View
1 addons/pvr.vdr.vnsi/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="FernetMenta, Team XBMC">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"
View
37 addons/pvr.vdr.vnsi/vdr-plugin-vnsiserver/demuxer.c
@@ -167,6 +167,19 @@ int cParser::ParsePESHeader(uint8_t *buf, size_t len)
return hdr_len;
}
+void cParser::BufferPacket(sStreamPacket *pkt)
+{
+ // create new packet
+ sStreamPacket* p = new sStreamPacket(*pkt);
+
+ // copy payload
+ p->data = (uint8_t*)malloc(pkt->size);
+ memcpy(p->data, pkt->data, pkt->size);
+
+ // push to queue
+ m_queue.push(p);
+}
+
void cParser::SendPacket(sStreamPacket *pkt)
{
if(pkt->dts == DVD_NOPTS_VALUE) return;
@@ -180,12 +193,32 @@ void cParser::SendPacket(sStreamPacket *pkt)
pkt->pts = Rescale(pts);
pkt->duration = Rescale(pkt->duration);
- // discard packets until we have seen an i-frame
+ // buffer packets if we are not ready to send
if (m_Streamer->IsStarting()) {
+ BufferPacket(pkt);
+ return;
+ }
+
+ // stream packet if queue is empty
+ if(m_queue.size() == 0) {
+ m_Streamer->sendStreamPacket(pkt);
return;
}
- m_Streamer->sendStreamPacket(pkt);
+ BufferPacket(pkt);
+
+ // send buffered data first
+ INFOLOG("sending %i buffered packets", (int)m_queue.size());
+
+ while(m_queue.size() > 0) {
+ sStreamPacket* p = m_queue.front();
+ if(p != NULL) {
+ m_Streamer->sendStreamPacket(p);
+ free(p->data);
+ delete p;
+ }
+ m_queue.pop();
+ }
}
View
3 addons/pvr.vdr.vnsi/vdr-plugin-vnsiserver/demuxer.h
@@ -26,6 +26,7 @@
#define VNSI_DEMUXER_H
#include <vdr/device.h>
+#include <queue>
#define DVD_TIME_BASE 1000000
#define DVD_NOPTS_VALUE (-1LL<<52) // should be possible to represent in both double and __int64
@@ -233,6 +234,8 @@ class cParser
protected:
bool m_FoundFrame;
+
+ std::queue<sStreamPacket*> m_queue;
};
View
1 addons/pvr.vuplus/addon/addon.xml.in
@@ -6,6 +6,7 @@
provider-name="Joerg Dembski">
<requires>
<c-pluff version="0.1"/>
+ <import addon="xbmc.pvr" version="1.6.0"/>
</requires>
<extension
point="xbmc.pvrclient"

0 comments on commit 0482a89

Please sign in to comment.
Something went wrong with that request. Please try again.