MythLogBot@irc.freenode.net :: #mythtv

Daily chat history

Current users (80):

aca20031, aloril, Anssi, Beirdo_, brfransen, Captain_Murdoch, cesman, Chutt, clever, coling, Cougar, danielk221, dblain, dekarl1, ElmerFudd, fetzerch, foobum, foxbuntu`, ghoti, Gibby, gregL, GreyFoxx, IReboot, J-e-f-f-A, jams, jarle, jarryd, jhall_, jheizer, joe_____, joki, jpabq, jpabq_, jpharvey, jst, jwhite, jya, jya_, kc, kenni, kormoc, KungFuJesus, kurre2, kwmonroe, laga, MavT, moparisthebest, MythBuild, MythLogBot, nephyrin, neufeld, NightMonkey, Nothing4You, nyloc, poptix, purserj, pvr4me, rsiebert, seld, Sharky112065, skd5aner, SmallR2002, sphery, sraue, stuarta, stuartm, superm1, Tobbe5178, toeb, tonsofpcs, tris, unforgiven512, wagnerrp, wahrhaft, whoDat, wilmoore-misc, wolfgang2, XDS2010_, xris, _charly_
Sunday, June 23rd, 2013, 00:01 UTC
[00:01:54] stichnot: peper03: (hopefully you check logs) IIRC, my conclusion was that there was no particular need to disable skipping in a menu or VTS domain. If there are no buttons in the menu, the keypress events will not be handled by (whatever routine handles DVD navigation keypress events), and then execution falls through to (whatever routines handle seeking/jumping).
[00:02:26] stichnot: I think that the only reason skipping should be disallowed is if we were to implement prohibited uops.
[00:04:27] jya_: stichnot: if you check #11616, could this be related to the change in ring buffer? it seems that's where it is stuck
[00:04:27] ** MythLogBot http://code.mythtv.org/trac/ticket/11616 **
[00:05:42] jya_: stichnot: i hope we won't ever implement prohibited oops… having to wait 30s that i'll be pursued and fined should I dare watch the DVD I purchased is annoying to no end
[00:09:26] jya_: danielk22: makes me wondering how do you then, properly initialise a struct member of a class… like: class A { struct { int i, j; } my_struct; A() : my_struct() };
[00:14:33] stichnot: jya_: I hate prohibited uops, but stuartm has suggested that DVD authors for rental DVDs put VM traps to f*ck with people who rip DVDs and remove the uops
[00:14:47] stichnot: so if anything, I would control them through a setting
[00:15:49] stichnot: jya_: as for 11616, I haven't actually committed any ringbuffer changes yet, if that's what you're referring to
[00:15:59] jya_: ah ok...
[00:16:10] jya_: actually, seems to be stuck on av_q2d
[00:18:10] stichnot: probably not deadlocked, just in a never-ending loop in thread 2
[00:18:20] jya_: hum… no way this get stuck there… probably just a coincidence
[00:21:14] jya_: can't see how that loop be never ending… at first he stated it was due to the change to the audio decode… but his last comment state that it occurs even with that change reverted
[00:24:52] jya_: i need to change something in the audio framework to simplify things… so you feed the audio with bytes, and it returns the number of frames returned… rather than leaving to the client the job of calculating frames and guessing timestamp
[00:26:09] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Ping timeout: 248 seconds)
[02:08:59] nyloc (nyloc!~quassel@pC19F50D8.dip0.t-ipconnect.de) has joined #mythtv
[02:13:28] _nyloc_ (_nyloc_!~quassel@p4FE4D40F.dip0.t-ipconnect.de) has quit (Ping timeout: 276 seconds)
[02:18:18] danielk221 (danielk221!~danielk22@96.57.9.142) has joined #mythtv
[02:22:27] danielk221: jya_: A struct is just a class which starts out public in C++ so you can always just add a constructor.
[02:23:24] danielk221: class A { struct B{ B(): i(1), j(2) {} int i, j; } my_struct; A() : my_struct() };
[02:24:29] danielk221: Of course it hurts just looking at that.
[02:26:20] danielk221: more fun: class A { struct B{ B(int y, int z): i(y), j(z) {} int i, j; }; B my_struct; A() : my_struct(3,4) };
[03:00:47] jya_: danielk221: the issue is about struct vs classes ; just that there are a lot of C framework we are using (pulse audio, ffmpeg, lib resample) that uses structs ; what would be the best way to initialise those… you can't add default constructors
[03:02:10] jya_: looks like my safe_read change broke playback of some mp4 streams like TED talks
[03:08:17] jya_: i see… sometimes ffurl_read returns 0 ; which cause to enter an infinite loop
[03:09:19] danielk221: jya_: If all the fields in the struct are simple types, which they probably have to be if they are shared with C then you can use the struct x = { 1, 2, 3 }; syntax, where 1, 2 & 3 are of the right type.
[03:09:47] danielk221: This doesn't always work in C++03, in which case you need an init function.
[03:10:32] jya_: to me this breaks the abstraction model you want to use most of the time… you shouldn't have to know the internal details of some of the structs you are using
[03:10:52] danielk221: C++11 allows this to work in all cases AFAIK, but we can't really use that yet because it means all the C++ libraries we link with need to also be compiled using C++11.
[03:11:04] jya_: problem is coverity whinges if not all field are initialised.. when really, sometimes you only want to initialise the fields that are documented
[03:11:44] jya_: in pulse audio for example.. there's a common structure you pass for most arguments. the doc says which field to fill for using a particular API
[03:11:51] jya_: so that's the only one you worry about.
[03:12:07] jya_: but coverity then whinge about all the other fields you haven't initialised
[03:12:53] danielk221: jya_: I usually just clear those types of structures to 0 and then init the fields I care about. When I deal with these types of structs in POSIX APIs mostly.
[03:13:26] danielk221: i.e. I just memset as the first step.
[03:13:34] jya_: pulse is a particularly cumbersome one, because rather than using value of 0 for default value
[03:13:41] jya_: it uses (unsigned int)-1
[03:14:37] danielk221: Yuck. Does it not have any macros for initializing the structure? like the macros for using a select() ?
[03:14:42] jya_: i too use memset… but I find this particularly inelegant, especially in C++; it also assumes your struct or class is of a certain type ; doesn't contain a virtual table etc… otherwise your memset will kill it
[03:14:50] jya_: not that I could see
[03:15:24] danielk221: Yeah, memset on a C++ class can be deadly. It is only safe on C stuff.
[03:15:49] jya_: BTW, when you do sizeof(struct) ; does it include 4 or 8 extra bytes if there are virtual functions?
[03:17:28] jya_: the project I just worked on, disgusting code in many places.. they have struct everywhere, but with virtual destructor ; when running bounds checker kept telling me my structure was using an uninitialised value ;which happened to be the first 4 bytes of the structure: typically where the vtable was stored
[03:19:47] danielk221: It would include extra bytes if there are any virtual functions on any platform known to me. The spec doesn't require it though (the compiler is free to implement virtuals some other way).
[03:21:49] danielk221: The only way I could see it doing things differently is if it was a managed platform like C++ on top of the C# or Java runtime. I don't know how Microsoft's Managed C++ is implemented, but they probably still have a vtable pointer.
[03:22:23] danielk221: http://cgit.freedesktop.org/pulseaudio/pulsea . . . 102dda400f40 pa_zero() maybe?
[03:26:08] danielk221: BTW my opinion on useless initialization of variables has changed since Eric Hovland first began running Coverty against the MythTV code base.
[03:26:32] jya_: danielk221: in what way?
[03:29:04] danielk221: At first I only wanted to initialize if absolutely necessary.. but now I only want to avoid initializing if there is either a measurable performance benefit or if initializing those variables would break some functionality (TSPacket).
[03:33:04] danielk221: Two reasons: 1/ Someone maintaining my code might assume the variable is initialized in the constructor later, introducing random breakage. 2/ It allows static analysis tools to do their job and I've seen them find long standing bugs.
[03:33:05] moparisthebest (moparisthebest!~quassel@66.55.92.38) has quit (Ping timeout: 268 seconds)
[03:33:54] jya_: to me i should only have to explicitly initialise variables define in the class i'm defining… the job to initialise a structure used by a framework, shl e the responsibility of that framework
[03:34:15] jya_: should be...
[03:34:54] jya_: e.g. i shouldn't have to do a memset of an inner FFmpeg's structure, simply because coverity says it's non initialize
[03:35:19] jya_: as it now move the ownership of that particular structure from where it should be (FFmpeg) to the client
[03:35:27] danielk221: jya_: yeah, that is one of those cases where I'd ignore coverty.
[03:35:30] moparisthebest (moparisthebest!~quassel@66.55.92.38) has joined #mythtv
[03:35:57] danielk221: Call whatever initializer ffmpeg has for the structure and assume it initializes whatever must be initialized.
[03:36:05] jya_: exactly..
[03:36:31] jya_: for ffmpeg and pulse, I got covertly report that some members were uninitialized
[03:36:47] jya_: turned out for example, the same structure is used for both playback and recordings.
[03:37:12] jya_: so some field are for recordings only… yet, coverity warn them about being unitiliazed.
[03:37:13] danielk221: Pulse I'd probably be more careful with. Just because I don't trust the pulse devs as much. :)
[03:37:26] jya_: so sure, we can do a memset, but to me that's ugly…
[03:37:50] jya_: memset in C++ … neh
[03:38:07] jya_: maybe I'm just too pedantic
[03:38:18] danielk221: But I think the principle still applies. Call the framework's or library's initializer and trust it to do the right thing.
[03:39:48] danielk221: It's only when an initializer isn't provided that I resort to memset().
[03:41:16] jya_: i guess, that if a memset breaks things… it would have been broken regarldess
[03:43:00] jya_: I had a disagreement with one of the dev here… after i was trying to investigate a random crash.. i used bounds checker (great tool btw).. it reported some members being uninitialised… so I set them to 0
[03:43:47] jya_: turned out, it made the program crash consistently after that… the reaction following was to revert my initialisation in the constructor!
[03:44:35] jya_: i was a tad gobsmacked…. let's not look why it crashed.. no a random behaviour is preferred. because after all , then sometimes it works :)
[03:44:44] danielk221: heh
[03:51:19] jya_: i see that in configure compile-type=debug is supposed to disable optimizations.
[03:51:48] jya_: it doesn't… I have -O3 everywhere in the CFLAGS and CXXFLAGS ; makes it hard to debug ffmpeg; the compiler hide all the variables
[03:52:01] fetzerch (fetzerch!~quassel@unaffiliated/fetzerch) has quit (Ping timeout: 248 seconds)
[03:52:31] danielk221: It is supposed to compile with -O1 so you can step through the code in a debugger.
[03:53:05] fetzerch (fetzerch!~quassel@unaffiliated/fetzerch) has joined #mythtv
[03:55:44] danielk221: BTW I've discovered that a lot of the things we do by default, like like develop in master, are treated as modern innovations in the corporate software world. And for all our foibles there is scarier code behind a lot of popular commercial applications.
[03:56:44] jya_: like which one?
[03:59:51] jya_: ah! I had a special case for why compiling with llvm on mac, i add -O3 as I found h264 playback crashed without it… well, that was 2 years ago, hopefully llvm is better now
[04:09:16] joki (joki!~joki@p5486464C.dip0.t-ipconnect.de) has quit (Ping timeout: 246 seconds)
[04:10:07] dekarl (dekarl!~dekarl@p4FE858AD.dip0.t-ipconnect.de) has quit (Ping timeout: 264 seconds)
[04:11:30] dekarl (dekarl!~dekarl@p4FE858AD.dip0.t-ipconnect.de) has joined #mythtv
[04:14:42] joki (joki!~joki@p54862D98.dip0.t-ipconnect.de) has joined #mythtv
[04:31:15] wilmoore-misc (wilmoore-misc!~wilmoore@c-67-190-17-108.hsd1.co.comcast.net) has joined #mythtv
[04:48:21] xris: danielk221: develop in master as opposed to what?
[04:49:50] xris: but yeah, I've been blown away by stories from devs at places like Real (code reviews of C++ traded around via email with inline comments, then pieced back together before being committed to CVS) and Boeing (java devs writing all of their code in notepad and emailing stuff to a build manager to compile it)
[05:39:55] stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has quit (Ping timeout: 246 seconds)
[06:10:29] stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has joined #mythtv
[07:46:04] unforgiven512 (unforgiven512!~unforgive@opana4.unforgivendevelopment.com) has quit (Quit: ZNC - http://znc.in)
[07:46:47] unforgiven512 (unforgiven512!~unforgive@opana4.unforgivendevelopment.com) has joined #mythtv
[07:54:56] stuartm: jya_: stichnot: fwiw, disabling failing to honour prohibited operations would also break a number of interactive dvds, e.g. quiz/game discs
[08:00:39] stuartm: jya_: if the struct belongs to a third party then just supress the warning from coverity, in that instance we can just assume that the lib in question won't try to access the uninitialised struct values and if they do, it's their bug not ours
[08:08:56] stuartm: I'm with danielk221 on the reasons for initialising everything in the constructor (with special exceptions), if I were the only person working on the code then I might not bother since I know that these variable won't be used before they are initialised, but in an open source project where dozens of people may be touching the code during or after my time on the project it's just safer
[08:11:40] stuartm: they might not know that it's not safe to call a certain member function before another, and because initialisation issues can lead to random and unpredictable bugs they may not even notice their mistakes at the time leading to that broken code making it into production
[08:16:19] SteveGoodey (SteveGoodey!~steve@host86-145-235-230.range86-145.btcentralplus.com) has joined #mythtv
[08:25:49] stoffel (stoffel!~quassel@pD9E40022.dip0.t-ipconnect.de) has joined #mythtv
[09:40:50] peper03 (peper03!~peper03@mythtv/developer/peper03) has joined #mythtv
[09:45:32] peper03: stichnot, stuartm: I agree that generally there's no need to disable skipping unless buttons are shown. There are one or two scenarios where the behaviour might seem a little odd to the user (e.g. by landing in the middle of an animated menu sequence) but if uops are not enforced, there will always be the chance of something not working as perfectly as expected.
[09:45:56] Tobbe5178 (Tobbe5178!~asdf@h104n2-sv-a13.ias.bredband.telia.com) has quit (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
[09:46:47] Tobbe5178 (Tobbe5178!~asdf@h104n2-sv-a13.ias.bredband.telia.com) has joined #mythtv
[09:47:25] peper03: Equally, not enforcing uops can be problematic in things like DVD games as stuartm mentioned.
[09:48:43] peper03: For me, I'd be happier to live with occasional oddities than to have uops enforced strictly and never be able to skip over crud. But for the best of both worlds, I'd add a setting too to allow enforcement to disabled or enabled.
[09:56:46] peper03: It would be interesting to know how much the DVD player is used in the wild. I know there are lots of people who only care about the main feature and hate having menus of any sort, so they just rip the main feature to a video file. But I wonder how many people have maybe decided to go down that route simply because of issues in the code.
[09:57:07] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has joined #mythtv
[09:57:43] paul-h (paul-h!~Paul@176.253.129.184) has joined #mythtv
[10:01:22] peper03: I wouldn't want to rip my collection just because it's not worth the effort in my eyes. Most of our DVDs aren't watched regularly. Most probably sit in the draw for a year or more before being watched again. It's less effort to take it out of the draw than to mess about ripping it.
[10:03:31] paul-h: peper03: congratulations on getting your promotion :)
[10:04:44] peper03: paul-h: Thanks very much! I'm flattered to be invited to the team.
[10:06:47] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has joined #mythtv
[10:26:18] peper03 (peper03!~peper03@mythtv/developer/peper03) has quit (Quit: Konversation terminated!)
[10:37:23] IReboot (IReboot!~doug@CPE10bf48e67915-CM78cd8e7e342d.cpe.net.cable.rogers.com) has quit (Quit: Ex-Chat)
[10:44:37] IReboot (IReboot!~doug@CPE10bf48e67915-CM78cd8e7e342d.cpe.net.cable.rogers.com) has joined #mythtv
[10:50:55] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has quit (Ping timeout: 264 seconds)
[11:00:59] stoffel (stoffel!~quassel@pD9E40022.dip0.t-ipconnect.de) has quit (Ping timeout: 255 seconds)
[11:44:02] jya_: stuartm: during an email exchange to paul-h ; it has brought back my idea to show the artwork of a song being played via AirPlay… so I'm back to needing an easy way to display an image… I can't recall if you gave me an example or not.. and if you did ; you still have that around?
[12:05:04] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has joined #mythtv
[12:07:25] jya_: maybe time for me to switch my main myth system to master now… i feel that its stable enough
[12:08:05] purserj (purserj!~purserj@hosting.collaborynth.com.au) has quit (Ping timeout: 248 seconds)
[12:08:59] purserj (purserj!~purserj@hosting.collaborynth.com.au) has joined #mythtv
[12:13:23] dgeary2 (dgeary2!~debian@2001:388:f000::2939) has joined #mythtv
[12:23:48] dgeary2 (dgeary2!~debian@2001:388:f000::2939) has quit (Quit: Ex-Chat)
[12:28:53] dekarl1 (dekarl1!~dekarl@p4FE84C34.dip0.t-ipconnect.de) has joined #mythtv
[12:31:07] dekarl (dekarl!~dekarl@p4FE858AD.dip0.t-ipconnect.de) has quit (Ping timeout: 264 seconds)
[12:51:57] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has quit (Read error: Operation timed out)
[12:55:32] stichnot: peper03: Just to be clear, I believe that disabling play/pause/skipping in a VTS domain ("menu"), and disabling play/pause/skipping/etc. due to prohibited uops, are two separate issues. I could be wrong since I'm only casually familiar with the DVD spec. And afaik, the myth code does nothing at all with respect to prohibited uops.
[13:23:38] stuartm: jya_: I did give an example, twice in fact, the second time I thought it best to keep a copy or at least bookmark the pastebin so I didn't have to do it a third time ... I just need to find it :)
[13:25:11] stuartm: might end up querying spheroogle
[13:29:29] stuartm: [2013-04–24 22:54:53] stuartm: jya: http://pastebin.com/ZSaAMAxY – I've put this together pretty hastily so forgive any omissions, thinkos or typos, hopefully it will get you started and I'll try to answer any questions you may have tomorrow, see http://miffteevee.co.uk/documentation/develop . . . Widgets.html and http://www.mythtv.org/wiki/MythUI_Theme_Development for documentation
[13:29:40] stuartm: mythlogbot search found it :)
[13:30:26] stuartm: it then also found "found it :)" ...
[13:30:41] stuartm: guess you have to be careful what you type around the bot ...
[13:40:43] stichnot: How do you mythlogbot search? I've always found the google index to be many days behind.
[13:48:30] stuartm: mythlogbot search How do you mythlogbot search?
[13:48:38] stuartm: [23/06/2013 14:48:30] <MythLogBot> Searching #mythtv for "How do you mythlogbot search?"...
[13:48:39] stuartm: [23/06/2013 14:48:30] <MythLogBot> No matches found
[13:48:41] stuartm: [23/06/2013 14:48:31] <MythLogBot> Search took 0.470462s
[13:48:48] stuartm: guess it's not quite realtime
[13:49:03] stuartm: can be done via pm simply as "search <string>"
[13:49:27] stuartm: mythlogbot search mythlogbot search
[13:50:16] skd5aner (skd5aner!~skd5aner@50-90-5-146.res.bhn.net) has joined #mythtv
[13:50:33] stuartm: err, sorry, that's "search #mythtv <string>" when using private messaging
[13:52:11] stichnot: cool, thanks.
[14:07:53] Tobbe5178: dekarl1 or someone else, who do tell that one of the channels on tvzone.se contains bad data?
[14:08:06] Tobbe5178: plus a you that i missed
[14:09:52] jpharvey (jpharvey!~jpharvey@host109-148-239-26.range109-148.btcentralplus.com) has quit (Ping timeout: 246 seconds)
[14:18:52] stichnot: jpabq: I noticed that my new REC_STARTED_WRITING event is not being triggered on a Live TV channel change for the HDPVR, but it is for the HDHR. It seems that it's because _first_keyframe is not being reset to -1 on a recording change. Is this intentional? If so, do you have any suggestions for the right logic for the REC_STARTED_WRITING event?
[14:23:35] jpharvey (jpharvey!~jpharvey@host109-148-113-17.range109-148.btcentralplus.com) has joined #mythtv
[14:58:10] SteveGoodey (SteveGoodey!~steve@host86-145-235-230.range86-145.btcentralplus.com) has quit (Ping timeout: 246 seconds)
[14:59:42] jpabq_: stichnot: I will take a look at that today. I was planning on reviewing that code anyway. Thanks for the heads-up.
[15:09:05] stichnot: cool, thanks.
[15:21:44] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has joined #mythtv
[15:54:25] exoon (exoon!~exoon@p4FD3B3F8.dip0.t-ipconnect.de) has quit (Ping timeout: 276 seconds)
[15:54:41] exoon (exoon!~exoon@p4FD3BD0C.dip0.t-ipconnect.de) has joined #mythtv
[16:11:40] rsiebert_ (rsiebert_!~quassel@e179130085.adsl.alicedsl.de) has joined #mythtv
[16:12:01] rsiebert (rsiebert!~quassel@g225063255.adsl.alicedsl.de) has quit (Ping timeout: 246 seconds)
[16:29:11] danielk221: jpabq_: Have you seen #11476 ? The timeout commit seems a bit fishy to me.. There are existing timeouts + I feel the signal monitor shouldn't be setting policy it should just report what it sees, and leaving acting on it to the TV and TVRec level.
[16:29:11] ** MythLogBot http://code.mythtv.org/trac/ticket/11476 **
[16:32:39] jpabq_: danielk221: Okay, I was wondering why the timeouts were removed from the signal monitor. I had not realized they had been moved. The reason I added them back in, is because they were not working for me. For example, if my HD-PVR does not "lock" Myth was getting stuck in a recording state, which it NEVER got out of.
[16:33:23] jpabq (jpabq!~quassel@mythtv/developer/jpabq) has quit (Disconnected by services)
[16:33:27] jpabq_ is now known as jpabq
[16:33:35] jpabq (jpabq!~quassel@71-37-157-34.albq.qwest.net) has quit (Changing host)
[16:33:35] jpabq (jpabq!~quassel@mythtv/developer/jpabq) has joined #mythtv
[16:34:42] jpabq_ (jpabq_!~quassel@mythtv/developer/jpabq) has joined #mythtv
[16:35:14] jpabq: It seemed to me that different recorders would want different timeouts. For example, IPTV takes a lot longer to lock than ATSC. If it is all done in TVRec, how would that be handled?
[16:36:22] danielk221: jpabq_: There is a database setting for the length of the timeouts.
[16:37:18] jpabq: I thought that was just for livetv?
[16:37:40] danielk221: I did disable one timeout altogether, the one in the scheduler. But I think someone brought that one back. The hope there was that the recording quality metric would be a better way to determine if a recording was botched.
[16:38:32] danielk221: jpabq: You mean for the pop-up?
[16:39:02] jpabq: The problem with my HD-PVR case, is that the recording never happened, and yet, Myth thought it was recording. Only way to stop it, was to restart mythbackend.
[16:39:07] jpabq: yeah
[16:39:46] danielk221: Generally we don't want to abort a scheduled recording just because the transmitter isn't online a few seconds after the recording is supposed to start. i.e. in the DVB case with a non-24/7 channel.
[16:40:14] danielk221: jpabq: MythTV wasn't able to shutdown the recording?
[16:40:45] jpabq: It never gave up on getting a lock, so it just looped waiting for one, forever.
[16:41:11] jpabq: That is why I added the timeout back into the sigmon. So it would eventually give up trying to get a lock.
[16:41:36] danielk221: TVRec should have shut it down when the recording was supposed to be over or when the user requested the recording be stopped.
[16:42:08] danielk221: Maybe that didn't work because we incorrectly assume that the recording has started when we go to stop it?
[16:43:58] jpabq: I don't know. I didn't realize it had to wait until the recording was over before it would realize it wasn't happening, so I didn't test that scenario.
[16:45:29] danielk221: yeah, currently the only automatic check is at the end of the recording. I'd considered checking a few minutes into the recording but couldn't think of a good reason for the extra complexity.
[16:45:29] jpabq: With it timing the lock out after a couple of minutes, that gives a clue to anyone paying attention that there is a problem, and they might be able to fix it. If it waited until the recording was over, that opertunity would be lost.
[16:46:39] danielk221: jpabq: Wouldn't someone paying that much attention notice the 0 byte file size?
[16:47:28] jpabq: Maybe. Assuming they were using a theme which displayed the file size.
[16:47:54] danielk221: Ah, there are themes that don't show the file size?
[16:47:58] jpabq: To fix #11476, I would be tempted to let EIT override the timeout, rather than remove it from the sigmon.
[16:47:58] ** MythLogBot http://code.mythtv.org/trac/ticket/11476 **
[16:50:11] danielk221: jpabq: The problem with doing the timeout at the signal monitor level is that it doesn't and shouldn't know about details such as when the scheduled start time of the program is or whether we are planning to record at all (channel scanning or EIT).
[16:50:59] danielk221: We need to know the program scheduled time for a proper timeout because someone might have a 5 minute pre-record on a channel that only goes on air 1 second before the program starts.
[16:51:27] jpabq: The current code just starts a timer when the sigmon starts up.
[16:51:45] jpabq: But, I see what you are saying
[16:52:51] jpabq: That seems like a very fringe case, though.
[16:53:51] danielk221: jpabq: If you don't handle the edge cases elegantly up front someone will eventually hack up your code to support those cases in-elegantly.
[16:57:30] jpabq: The scheduler is complex enough, that I hate touching it. I assume that it would be in a tuning state while trying to get the lock. I will take a look, but probably not today.
[16:59:41] stuartm: danielk221: yes there are many themes that don't show the size, Terra doesn't or didn't since I felt it fell in the 'trivia the average user doesn't care about' category
[17:01:44] stuartm: fwiw, we really do need a check up front at the start of a recording that we're actually getting data, and it should be seconds rather than minutes, in some cases we'd be able to retry and still manage to record the show either on the same tuner or another tuner
[17:02:23] stuartm: the way it works now with us only noticing a problem _after_ the recording ends, we end up missing the +1 repeat too
[17:03:07] danielk221: stuartm: The +1hr repeat should be caught now if it is 1hr or less recording.
[17:03:35] danielk221: But I guess that is another argument for checking earlier. It should work no matter the length of the recording.
[17:05:06] danielk221: I think checking in the first minute is something that could upset people.. we could end up recording 2 or more instance of one program and not record some overlapping program.
[17:13:20] jpabq: The scheduler does not use channel_timeout (which is per capture device), but instead uses tuning_timeout which is global. To do it in the scheduler we would have to switch to using channel_timeout.
[17:13:59] jpabq: The "definition" of channel_timeout is currently "Maximum time (in milliseconds) MythTV waits for a channel lock when scanning for channels during setup, or for issuing a warning in Live TV mode."
[17:15:11] jpabq: gigem: do you have any thoughts on this discussion?
[17:16:12] jpabq: I will be gone for a few hours, but I will check back in when I get back.
[17:17:52] peper03 (peper03!~peper03@mythtv/developer/peper03) has joined #mythtv
[17:20:25] peper03: stichnot: Yes, you are right. They are two separate issues. I think I started combining them in my mind because (I think) most animated menus with an intro have skipping disabled in the uops. There are so many different ways of encoding the same thing, it can be hard to ensure you've covered all bases.
[17:20:55] stichnot: peper03: The old patch I have lying around (not tested in a few months): http://pastebin.com/RGSu8krr
[17:21:14] stichnot: (I also have to leave for a few hours now...)
[17:31:26] stuartm: danielk221: the problem is post-roll on a 1hr recording takes it past the point where the +1 repeat starts, or are we now accounting for that?
[17:32:49] danielk221: stuartm: ah, no we're not accounting for post roll.
[17:52:48] SteveGoodey (SteveGoodey!~steve@host86-145-235-230.range86-145.btcentralplus.com) has joined #mythtv
[18:02:29] gigem: jpabq: I'd prefer any timeouts be done in TVRec and the scheduler notified asynchronously of any changes. There already is the tuning timeout in the scheduler that danielk221 added a while back, however, so we could keep that for the time being. FYI, there was a bug in scheduler I fixed a couple of weeks ago that preventing the tuning timeout from being checked in some (many?) cases. Also, when the
[18:02:30] gigem: scheduler detects a tuning timeout, it currently doesn't stop the recorder. That should probably be changed if we keep the timeout in the scheduler.
[18:24:05] bobweaver (bobweaver!~bobweaver@ubuntu/member/bobweaver) has quit (Quit: Leaving)
[18:42:27] peper03: stichnot: Allowing seeking and playback speeds other than1x in still frames is probably possible but (not having tried it) I could imagine a bit of extra work is necessary. If a still frame should be shown for 30 seconds, 20 seconds have elapsed and the user wants to skip back. Assuming skip back is set to 7 seconds, do we reset the elapsed time to 13 seconds, or try to jump back 7 seconds before the still frame was first shown?
[18:42:42] peper03: Both are possible, of course.
[18:42:54] peper03: (or better *either* is possible)
[18:48:43] peper03: I'm not sure whether any of this is actually specified, as the DVD spec is not publicly available (to the best of my knowledge). Everything that's out there has been reversed engineered or deduced. Probably if there doesn't appear to be anything else that offers it but it's technically possible, it's just a case of deciding on what makes most sense.
[19:00:03] bill6502 (bill6502!~bill@205.178.26.43) has joined #mythtv
[19:09:26] bill6502: peper03: After 4f023d7, I think you need to update SCHEMA_VERSION in mythtv/bindings/perl/MythTV.pm, and SCHEMA_VERSION in mythtv/bindings/python/MythTV/static.py. I know the python bindings fail without the later. Happy to write a ticket if you prefer.
[19:13:12] peper03: bill6502: Oops, yes, you're right. I checked previous schema update commits but I must have missed those. Thanks, I'll do that now.
[19:15:24] bill6502: ty
[19:15:37] bill6502 (bill6502!~bill@205.178.26.43) has left #mythtv ()
[19:45:58] sraue (sraue!~stephan@xbmc/staff/sraue) has quit (Remote host closed the connection)
[20:20:56] sraue (sraue!~stephan@xbmc/staff/sraue) has joined #mythtv
[20:22:18] peper03 (peper03!~peper03@mythtv/developer/peper03) has quit (Quit: Konversation terminated!)
[20:40:05] rsiebert_ (rsiebert_!~quassel@e179130085.adsl.alicedsl.de) has quit (Quit: No Ping reply in 180 seconds.)
[20:40:23] rsiebert (rsiebert!~quassel@e179130085.adsl.alicedsl.de) has joined #mythtv
[20:41:47] SteveGoodey (SteveGoodey!~steve@host86-145-235-230.range86-145.btcentralplus.com) has quit (Quit: Konversation terminated!)
[20:44:19] jpabq: danielk221: did you get mythfrontend (master) running under osx? There are times when that would be useful. Does jya have instructions somewhere?
[21:13:27] exoon (exoon!~exoon@p4FD3BD0C.dip0.t-ipconnect.de) has quit (Remote host closed the connection)
[21:44:59] stichnot: peper03: in your example, I would reset the elapsed time to 13 seconds. I assume there could be some audio playback involvement in that too.
[21:47:34] NightMonkey (NightMonkey!~NightrMon@173-164-139-193-SFBA.hfc.comcastbusiness.net) has joined #mythtv
[21:47:35] NightMonkey (NightMonkey!~NightrMon@173-164-139-193-SFBA.hfc.comcastbusiness.net) has quit (Changing host)
[21:47:35] NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv
[22:28:39] skd5aner: any target date for 0.27?
[22:28:44] skd5aner: even ballpark?
[22:37:02] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Ping timeout: 256 seconds)
[22:37:48] jpabq: skd5aner: ballpark would July 29th. We are planning on a feature freeze July 1st.
[22:51:35] paul-h: With 534 open tickets that's a bit optimistic unless you mean 2014 :)
[22:52:29] paul-h: You also really don't know what the release candidates will throw up so I would guess Sept/Oct would be more realistic
[22:59:55] jya_: danielk221: If you have any issues compiling the mac fronted let me know.. I also have the associated Xcode project ; it's great for debugging and stepping through the code.. couldn't do without it now
[23:03:04] jpabq: jya_: I was not able to find the Qt SDK on qt.digia.com. I grabbed qt-for-open-source... but it bombs with .osx-packager/build/bin/autoreconf: no such file or directory. I tried coping autoreconf from /usr/bin to that directory, but then it just fails later with a verison missmatch.
[23:03:32] jya_: jpabq: auto tools is one of the dependency...
[23:03:43] jya_: don't use the Qt SDK
[23:04:01] jpabq: jya_: I am using the instructions from github/MythTV/packaging/tree/master/OSX/build
[23:04:08] jya_: http://download.qt-project.org/official_relea . . . ce-4.8.4.dmg
[23:04:20] jya_: that's just the lib ; works just as well
[23:04:54] jya_: what I'm saying is that auto tools is a dependency that would normally have been compiled before Qt… so you get autoreconf
[23:05:22] jya_: but if you use the Qt source code as per the qt script (let it download the source code by itself) you don't need the auto tools for Qt
[23:05:45] jpabq: I have autoreconf in /usr/bin.
[23:06:11] jya_: ah i see… autoconf/automake is only a dependency for when you build the mythplugins
[23:06:21] jya_: there should be no need for it for Qt
[23:06:42] jya_: if you do as I wrote on the README, it *will* work.
[23:06:48] jya_: i've done it again yesterday from 0
[23:07:03] jya_: you install the Qt libs from above
[23:07:09] jya_: use that link
[23:07:12] jya_: then run:
[23:07:38] jya_: assuming you've ran it before, and you have an up to date git directory
[23:07:46] jya_: ./git/packaging/OSX/build/osx-packager-qtsdk.pl -verbose -debug -force -nohead -qtsrc 4.8.4 -enable-backend
[23:08:01] jpabq: I had not noticed the README in packaging. I was looking at the instructions on github.
[23:08:21] jya_: should be the same...
[23:08:31] jya_: i believe github only list the README content
[23:09:17] jpabq: I was trying to do the "osx-packager-qtsdk.pl -qtbin /usr/bin -qtplugins /Devloper/Applications/Qt/plugins" step
[23:09:25] jya_: so using instruction on github; it's step 2-b)
[23:09:35] jya_: yes, that's good
[23:09:45] jya_: provided you have installed the Qt package first
[23:09:45] jpabq: That is where it complained about autoreconf missing
[23:10:08] jya_: post the entire output of the packager with -verbose
[23:10:33] jya_: did you by any chance delete the build directory without clearing the src one ?
[23:10:43] jya_: in which case, it won't try to reinstall the required files
[23:11:15] jya_: personally, I did my git clone in another location
[23:11:23] jya_: then I go into .osx-packager/src
[23:11:36] jpabq_: I hit that error the frst time I tried it. I delete .osx-packager and tried again.
[23:12:03] jya_: and I like the myth git directory from elsewhere to myth-git
[23:12:30] jya_: actually, I'm going to amend the script so you can link to your own git structure ; otherwise it takes forever to redownload the whole lot
[23:13:09] jya_: jpabq: what about you run TeamViewer and I can see what's going on?
[23:13:28] jpabq_: If I start from scratch, should I do ./git/packaging/OSX/build/osx-packager-qtsdk.pl -verbose -debug -force -nohead -qtsrc 4.8.4 -enable-backend first? or should I try "osx-packager-qtsdk.pl -qtbin /usr/bin -qtplugins /Devloper/Applications/Qt/plugins" again?
[23:14:07] jya_: if you start from scratch, -force and -nohead will not work as you do not have the required git directory already checked out
[23:14:44] jya_: so: path/to/osx-packager-qtsdk.pl -qtbin /usr/bin -qtplugins /Developer/Applications/Qt/plugins -verbose -debug
[23:15:08] jya_: if you're going to debug; you want -debug… ffmpeg in release mode is impossible to step through
[23:15:08] jpabq_: Okay, I am confused. I grabbed mythtv via git, is that what you are talking about, or some other git clone?
[23:15:15] jya_: ok...
[23:15:37] jya_: by default , the packager will clone the git mythtv itself
[23:15:40] jpabq_: I have the packaging cloned, and I have mythtv cloned in another directory.
[23:15:44] jpabq_: oh
[23:16:14] paul-h (paul-h!~Paul@176.253.129.184) has quit (Quit: Konversation terminated!)
[23:16:15] jya_: if you don't want it to reclone itself ; you need to hack a little
[23:16:22] jya_: because really it's designed to do it all
[23:16:50] jya_: so either you run some command line magic ; or you give me 15 minutes to amend the build script :)
[23:17:03] jpabq_: So, I should cd into packaging, and run these commands from there...
[23:17:39] jya_: oh it's actually already there :)
[23:17:42] jya_: -srcdir
[23:18:06] jya_: ah no; that's not what you want either
[23:18:22] jya_: that's to link to the entire .osx-packager src
[23:18:33] jya_: that was for stuarta now I remember for his buildbot
[23:20:33] jpabq_: I can let it do it's own clone. I don't think it is even getting that far, since it fails on the ""osx-packager-qtsdk.pl -qtbin /usr/bin -qtplugins /Devloper/Applications/Qt/plugins" step
[23:20:59] jya_: what's the error?
[23:21:57] jpabq_: sh: /Volumes/Mercury/Users/john/src/.osx-packager/build/bin/autoreconf: No such file or directory
[23:23:06] jya_: for which package?
[23:24:19] jpabq_: Right before that, is the install command for libyasm
[23:25:25] jpabq_: /usr/bin/install -c -m 644 libyasm-stdint.h '/Volumes/Mercury/Users/john/src/.osx-packager/build/include'
[23:25:41] jya_: if you ran it with -verbose it would help
[23:25:52] jya_: you would be able to tell which package needs it
[23:26:02] jpabq_: okay, I will run it again.
[23:26:19] skd5aner: jpabq: good deal, thanks! Been WAYYYYY too long between releases
[23:30:48] jpabq_: jya_: looks like it is using clang — did I miss a step?
[23:30:55] jya_: no, that's normal
[23:31:00] jya_: it's the default now
[23:31:54] jpabq_: Does ccache work on the mac?
[23:33:07] jya_: yes
[23:33:12] jya_: well, I hope so :)
[23:36:26] pvr4me (pvr4me!~craigtrel@d24-150-182-175.home.cgocable.net) has joined #mythtv
[23:41:16] gigem: skd5aner: Welcome back. Are you still interested in getting me a copy of your database? I commit two changes that might help your long place times, but I'd still like to be able to profile it myself.
[23:41:33] jpabq_: jya_: looks like that is happing when it is trying to configure taglib
[23:42:10] skd5aner: gigem: hey, thank you... yea, life has kept me away from here A LOT; however, I was just thinking about our conversation a few hours ago
[23:42:44] skd5aner: I scheduled a pilot to record earlier tonight via mythweb – the page refreshed and still indicated it hadn't scheduled – about 5 mins later, it finally showed up on the upcoming recordings
[23:42:44] jya_: jpabq_: I see… Nigel modified the script last month and moved tag lib dependency… he moved it to the wrong place
[23:42:56] skd5aner: and that was after I triggered a resched
[23:43:20] jya_: jpabq_: let me fix that
[23:43:36] skd5aner: gigem: how would you like me to get it to you, and are there other things you'd like me to do as far as logging, etc? Remember – I'm running a few month old version of 0.26-fixes as well
[23:45:40] skd5aner: gigem: I'll happily work on it now if you've got a few mins to run through what you'd like me to do
[23:47:53] gigem: skd5aner: 5 minutes is ridiculous. I've got an idea on how to possibly showing pending status, but it's not thought through yet. stuartm expressed some interest in that a while back. The output of mythconverg_backup.pl would be the easiest. If you want to sanitize the data before sending it, though, you might have to roll your own way by running mysql dump on individual tables.
[23:49:08] skd5aner: gigem: I don't mind sending to you... I'm sure there's some guilty pleasures in there, but nothing embarassing (that I can think of anyway) :)
[23:50:43] skd5aner: and I don't think there are really any passwords saved within the DB, correct?
[23:51:28] gigem: skd5aner: Okay, just run mythconverg_backup.pl, then. Do you have place you can put? If not, I can arrange for a place tomorrow. Or if anyone else knows how to let you put something on box.com, I can do it later this evening.
[23:51:59] skd5aner: gigem: I think I can share it with you exclusively on dropbox, if you have a dropbox account
[23:52:58] gigem: If your home network is reasonably secure, there's nothing I could do anyway. Okay on dropbox, just give a shout when it's ready. It's time for pizza now, so I'll be afk for an hour or so.
[23:53:24] skd5aner: gigem: shoot me your email that's associated with your dopbox account, you can PM it to me if you'd like
[23:54:37] jpabq_: stichnot: I don't see why _first_keyframe would not be -1 for the HD-PVR. Checking my logs, it calls ResetForNewFile on a channel change, and that sets it to -1.
[23:54:46] gigem: Ooh, I guess I misunderstood. The account I was referring to is for box.com not dropbox.com. If you can access box.com, it's dlengel at mythtv dot org.
[23:54:56] gigem: Gotta go now, be back in a while.
[23:57:31] jya_: jpabq_: ok .. done for the packager
[23:57:38] jya_: do a git update on it
[23:59:55] jya_: jpabq_: now run it with osx-packager-qtsdk.pl -qtbin /usr/bin -qtplugins /Developer/Applications/Qt/plugins -gitsrc path/to/mythtv/git/clone/git -verbose -nohead -enable-backend

IRC Logs collected by BeirdoBot.
Please use the above link to report any bugs.