2013-05-10, 15:08
Thanks ! For this fix , no more black screen for me
(2013-05-10, 23:03)pootler Wrote: Okay - I have to ask this !
Has ABSOLUTELY ANYONE (be it raspbmc, openelec, xbian you name it)
managed to watch live tv continuously on the Raspberry Pi for an hour or two without audio/video sync dropping?
Don't care if its tvheadend or vdr - ANYBODY?
Pootler
(2013-05-09, 17:37)dhead Wrote: Great, that fix the aspect ratio issue for me.Does not work for me.
Tested on Openelec, Rbej Frodo r14059 build (02/04/2013)
p.s. if anyone want to try it with Frodo
https://dl.dropboxusercontent.com/u/6902...ux-arm.zip
(2013-05-12, 18:55)Kives Wrote: Patch resolves blask screen issue but automatic aspect ratio sensing doesn't work for everybody.
In Finland DVB-T TS-stream contains only mpeg2 encoded channels. Could this be the source for the auto-AR problem?
Could someone with a working system confirm the stream encoding, mpeg4 or mpeg2?
I'm now running official 3.02, all in one Pi.
(2013-05-09, 10:34)DarkMike Wrote: Aspect ratio problem resolved.
below patch for xbmc-pvr-addons
Code:diff --git a/addons/pvr.hts/src/HTSPDemux.cpp b/addons/pvr.hts/src/HTSPDemux.cpp
index a999c62..f10b414 100644
--- a/addons/pvr.hts/src/HTSPDemux.cpp
+++ b/addons/pvr.hts/src/HTSPDemux.cpp
@@ -281,11 +281,12 @@ inline void HTSPSetDemuxStreamInfoVideo(PVR_STREAM_PROPERTIES::PVR_STREAM &strea
{
stream.iWidth = htsmsg_get_u32_or_default(msg, "width" , 0);
stream.iHeight = htsmsg_get_u32_or_default(msg, "height" , 0);
- unsigned int den = htsmsg_get_u32_or_default(msg, "aspect_den", 1);
- if(den)
- stream.fAspect = (float)htsmsg_get_u32_or_default(msg, "aspect_num", 1) / den;
- else
- stream.fAspect = 0.0f;
+ stream.fAspect = 0.0f;
+ unsigned int den = htsmsg_get_u32_or_default(msg, "aspect_den", 0);
+ if (den)
+ stream.fAspect = ((float) htsmsg_get_u32_or_default(msg, "aspect_num", 0)) / den;
+ if (!stream.fAspect && stream.iHeight)
+ stream.fAspect = ((float) stream.iWidth) / stream.iHeight;
int iDuration = htsmsg_get_u32_or_default(msg, "duration" , 0);
if (iDuration > 0)
{
@@ -600,6 +601,7 @@ bool CHTSPDemux::SendSubscribe(int subscription, int channel)
htsmsg_add_s32(m, "channelId" , channel);
htsmsg_add_s32(m, "subscriptionId" , subscription);
htsmsg_add_u32(m, "timeshiftPeriod", (uint32_t)~0);
+ htsmsg_add_u32(m, "normts", 1);
if(g_bTranscode)
{
First block give correct aspect ratio to player if it doens't provided by server.
Second request normalized stream from server. For 3.4 and high TVHeadEnd servers it's resolve blank screen problem if timeshift is not enabled on server.
P.S. I use paspbian distribution so I don't try to build openelec and test on it. But problem really not openelec specific.
(2013-05-14, 11:17)DarkMike Wrote:Yes, zero as aspect ratio will be treated as unknown (so square pixels).(2013-05-12, 15:16)popcornmix Wrote: I checked with Adam Sutton and he thought the patch was sensible. He suggested you submit the patch as a pull request.
I'll create pool request in two days. I want to try variants on RPi and x86 (may be need send zero then aspect ration is not known?)