| Monday, January 14th, 2013, 00:00 UTC | ||
| [00:00:18] | jya: | it's my recent fix to the broken HD-PVR playback |
| [00:00:36] | jya: | d34833f2eeab06bc17338e4d5a8bc33589f41506 |
| [00:02:33] | jya: | what I did is revert how they are calculated and suddenly everything played well |
| [00:02:44] | jya: | this results in frames being display out of order |
| [00:05:02] | danielk22: | jya: Are we sure the new ffmpeg code is really correct? |
| [00:05:57] | jya: | danielk22: put it this way… no other tools based on ffmpeg have the issue we are having |
| [00:06:04] | jya: | so unless they all got it wrong... |
| [00:06:31] | danielk22: | I believe our VDPAU code shows frames based on their timestamp while a lot of playback methods just show one frame after the other... |
| [00:06:37] | jya: | and more often than not, our code are usually the one broken when it comes to how to use ffmpeg |
| [00:06:48] | PatrickDickey (PatrickDickey!~quassel@2001:470:1f11:830:90df:2c44:9a1d:ea51) has quit (Quit: I owe. I owe. So off to work I go...) | |
| [00:07:26] | danielk22: | If the new ffmpeg algorithm is broken then our VDPAU would show it when other playback methods would plaster over the problem. |
| [00:07:27] | jya: | danielk22: that could be the reason… i'm not sure.. maybe ffmpeg always provide frames in the proper order and that's what we should be using |
| [00:08:01] | danielk22: | jya: The do always provide the frames in order. But the PTS values should _also_ be correct. |
| [00:08:37] | danielk22: | An easy check we could do is check that the PTS values of the frames we get are actually increasing... |
| [00:08:44] | jya: | that's well beyond my level of expertise to understand on how things work… looking at the change of code being reverted, I don't even understand why it makes a difference to be honnest |
| [00:09:59] | jya: | if you want to have a go at it, I'm sure you'll achieve something quicker |
| [00:11:54] | danielk22: | jya: If you create a ticket for this, I'll take a look in the next couple weeks. |
| [00:12:07] | jya: | there's already a ticket |
| [00:12:13] | jya: | #11159 |
| [00:12:13] | ** MythLogBot http://code.mythtv.org/trac/ticket/11159 ** | |
| [00:12:23] | danielk22: | Cool, I'll grab it. |
| [00:14:30] | tonsofpcs (tonsofpcs!~tonsofpcs@cpe-72-230-192-8.stny.res.rr.com) has joined #mythtv | |
| [00:15:38] | jya: | i 'm fairly sure all that ffmpeg change did is expose a bug in our code |
| [00:17:44] | danielk22: | jya: It's quite possible. |
| [00:20:23] | jheizer__ (jheizer__!~jon@c-98-226-220-178.hsd1.il.comcast.net) has quit (Ping timeout: 252 seconds) | |
| [00:26:08] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has quit (Ping timeout: 252 seconds) | |
| [00:30:15] | jheizer__ (jheizer__!~jon@c-98-226-220-178.hsd1.il.comcast.net) has joined #mythtv | |
| [00:40:18] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Remote host closed the connection) | |
| [00:42:07] | bas-t (bas-t!~tycho@52484E89.cm-4-1b.dynamic.ziggo.nl) has quit (Quit: Ex-Chat) | |
| [00:43:14] | jheizer__ (jheizer__!~jon@c-98-226-220-178.hsd1.il.comcast.net) has quit (Read error: Connection reset by peer) | |
| [00:48:48] | danielk22: | stuartm: jpharvey: It appears my slow startup problem was related to the dmesg I reported.. but it took me a while to put it together... I normally run XFS hourly for 5 minutes.. but instead of running for 5 minutes, each job was never ending (probably do to the kernel bug) so I ended up with 30 simultaneous defrags running. |
| [00:55:37] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has joined #mythtv | |
| [01:04:36] | joki (joki!~joki@p54862B69.dip.t-dialin.net) has quit (Ping timeout: 255 seconds) | |
| [01:05:24] | joki (joki!~joki@p54865353.dip.t-dialin.net) has joined #mythtv | |
| [01:08:06] | skd5aner: | danielk22: thanks for grabbing #11159 – jya's done a great job troubleshooting it over the last month or so... I was the reporter, and the patches jya submitted to the ticket for 0.26-fixes has basically saved my marriage |
| [01:08:06] | ** MythLogBot http://code.mythtv.org/trac/ticket/11159 ** | |
| [01:08:52] | skd5aner: | well, maybe not litterally – but 0.26 is finally usable for us again. I can see plenty of recordings where it'll survive corruptions and continue playing... just like 0.25 and earlier |
| [01:11:04] | skd5aner: | I can't say whether it's completely safe to apply, or the best way to fix the issue – but I can say I'd vote to commit the change to 0.26-fixes quickly so others can benefit. |
| [01:11:55] | skd5aner: | jya: did you intend to commit those changes? |
| [01:12:00] | skd5aner: | s/changes/patches |
| [01:12:08] | jya: | skd5aner: they are committed to master |
| [01:12:43] | skd5aner: | jya: plan to commit the backport you alrady provided? |
| [01:12:53] | jya: | skd5aner: i would prefer to fix it properly |
| [01:13:07] | jya: | which is, I believe a problem in our rendering code, and not in ffmpeg |
| [01:13:08] | skd5aner: | ok – sounds like what you've got is more of a band-aid then |
| [01:13:17] | jya: | it certainly is |
| [01:13:24] | jya: | the aim is not to patch ffmpeg |
| [01:13:51] | skd5aner: | I have to admit, I'm more than happy to have the band-aid... We've seen a few dozen recordings already that we knew had the issue and/or had a small corruption that normally would exhibit the issue |
| [01:13:56] | jya: | but i agree that the fix is important enough to warrant a backport, even if temporary |
| [01:15:02] | skd5aner: | I could finally quit telling people that I'd recommend they stay on 0.25 :) |
| [01:16:02] | skd5aner: | jya: I just haven't been this appreciative for a fix in many years... so, thank you, again |
| [01:16:47] | jya: | thanks… it was a pain in the butt to find that one… doing a git bisect on ffmpeg within myth proved to be virtually impossible |
| [01:17:08] | jya: | the good news is that I have here on the back burner a patch that make myth independent of ffmpeg version. |
| [01:17:22] | jya: | works with ffmpeg from the one in 0.24 to master |
| [01:18:04] | skd5aner: | amazing what you can find when something causes you to peel back all those layers of the onion |
| [01:28:04] | jya: | skd5aner: can you test this one? http://pastebin.com/FBAJkh31 |
| [01:28:30] | jya: | it's the same as the 0.26 fix, but it's an actual backport of the master version, so it has some formatting differences |
| [01:28:33] | jya: | just in case ... |
| [01:29:09] | skd5aner: | I can, but it'll have to be tomorrow... primetime TV watching going on in the house right now |
| [01:32:23] | jya: | actually, never mind… i'm confident enough after re-reading it 3 times that it's all good |
| [01:38:23] | skd5aner: | :) |
| [02:09:10] | lentferj (lentferj!~lentferj@p57981F5A.dip.t-dialin.net) has quit (Ping timeout: 252 seconds) | |
| [02:10:11] | lentferj (lentferj!~lentferj@p579B7AF8.dip.t-dialin.net) has joined #mythtv | |
| [02:13:56] | clever (clever!~clever@47.54.78.167) has quit (Ping timeout: 255 seconds) | |
| [02:17:05] | jst (jst!~quassel@nat/mozilla/x-grwicqoandzqjpun) has quit (Read error: Connection reset by peer) | |
| [02:19:25] | jst (jst!~quassel@2620:101:8003:200:224:e8ff:fe39:34c2) has joined #mythtv | |
| [02:20:37] | clever (clever!~clever@47.54.82.69) has joined #mythtv | |
| [02:36:11] | jarryd_ is now known as jarryd | |
| [03:21:28] | Tobbe5178 (Tobbe5178!~asdf@h186n5-sv-a13.ias.bredband.telia.com) has quit (Read error: Connection reset by peer) | |
| [03:57:30] | stichnot: | peper03: I'm also interested in tracking down position display and seeking issues for DVDs. One easy to reproduce problem can be seen if you pause and then try to move back and forth by frames or 1 second at a time. |
| [04:33:54] | fetzerch (fetzerch!~quassel@unaffiliated/fetzerch) has quit (Ping timeout: 260 seconds) | |
| [04:35:03] | fetzerch (fetzerch!~quassel@unaffiliated/fetzerch) has joined #mythtv | |
| [04:39:59] | sraue (sraue!~stephan@xbmc/staff/sraue) has quit (Read error: Operation timed out) | |
| [04:55:11] | sraue_ (sraue_!~stephan@178-190-144-135.adsl.highway.telekom.at) has joined #mythtv | |
| [06:33:51] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has joined #mythtv | |
| [06:39:25] | rsiebert (rsiebert!~quassel@g229055175.adsl.alicedsl.de) has joined #mythtv | |
| [06:42:44] | rsiebert_ (rsiebert_!~quassel@g224248009.adsl.alicedsl.de) has quit (Ping timeout: 272 seconds) | |
| [07:04:32] | FabriceMG (FabriceMG!~Thunderbi@LCaen-156-54-30-212.w80-11.abo.wanadoo.fr) has joined #mythtv | |
| [07:58:21] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has joined #mythtv | |
| [08:04:11] | tonsofpcs (tonsofpcs!~tonsofpcs@cpe-72-230-192-8.stny.res.rr.com) has quit (Read error: Operation timed out) | |
| [08:52:58] | tonsofpcs (tonsofpcs!~tonsofpcs@cpe-72-230-192-8.stny.res.rr.com) has joined #mythtv | |
| [09:02:53] | bas-t (bas-t!~tycho@52484e89.cm-4-1b.dynamic.ziggo.nl) has joined #mythtv | |
| [09:03:56] | Merlin83b (Merlin83b!~Daniel@2a00:1ee0:3:1337:fde8:faa5:a8a5:c8) has joined #mythtv | |
| [09:27:54] | stuartm: | danielk22: ouch |
| [09:34:12] | peper03 (peper03!~peper03@port-92-203-100-61.dynamic.qsc.de) has joined #mythtv | |
| [09:49:27] | peper03: | stichnot: I think the main cause of the problem I mentioned yesterday is due to buffering. A DVD still with audio is effectively just an audio stream, so the bandwidth is low (AC3 has a max. of 448kbit/s – haven't thought about PCM or MP2). |
| [09:50:10] | peper03: | I didn't get too far yesterday but it did seem like everything was basically ok except that it buffered ~10 seconds worth of data in the time it takes to sync to a frame – https://github.com/MythTV/mythtv/blob/master/ . . . er.cpp#L1880 |
| [09:52:51] | peper03: | The problem of the OSD starting 10 seconds in is down to MythDVDPlayer::GetSecondsPlayed. If we're not in a still frame (without audio) it gets the current time from the ringbuffer. |
| [09:54:12] | peper03: | What we're showing in the OSD is how much has been *parsed*, not how much has actually been displayed. |
| [09:55:33] | peper03: | In the case of a still with audio, it's way out because so much data has been buffered. Normally it'll be closer but it's probably anything up to a second off. |
| [09:57:54] | peper03: | I don't know whether that's what's causing the seeking issues (seeking to time X when we think we are already showing time X would cause it jump back about a second or whatever the difference is). |
| [10:00:25] | sraue_ is now known as sraue | |
| [10:00:38] | sraue (sraue!~stephan@178-190-144-135.adsl.highway.telekom.at) has quit (Changing host) | |
| [10:00:38] | sraue (sraue!~stephan@xbmc/staff/sraue) has joined #mythtv | |
| [11:34:06] | zombor (zombor!~zombor__@65.29.231.135) has joined #mythtv | |
| [11:34:06] | zombor (zombor!~zombor__@65.29.231.135) has quit (Changing host) | |
| [11:34:06] | zombor (zombor!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [11:36:28] | knightr (knightr!~knightr@mythtv/developer/knightr) has quit (Read error: Connection reset by peer) | |
| [11:36:54] | knightr (knightr!~knightr@69-165-170-178.dsl.teksavvy.com) has joined #mythtv | |
| [11:36:54] | knightr (knightr!~knightr@69-165-170-178.dsl.teksavvy.com) has quit (Changing host) | |
| [11:36:55] | knightr (knightr!~knightr@mythtv/developer/knightr) has joined #mythtv | |
| [11:43:50] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Remote host closed the connection) | |
| [12:27:53] | PatrickDickey (PatrickDickey!~quassel@2001:470:1f11:830:b064:da1b:647:e431) has joined #mythtv | |
| [12:56:16] | PatrickDickey (PatrickDickey!~quassel@2001:470:1f11:830:b064:da1b:647:e431) has quit (Ping timeout: 245 seconds) | |
| [13:00:04] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has quit (Ping timeout: 248 seconds) | |
| [13:00:38] | tmr_ (tmr_!~quassel@84.114.28.118) has joined #mythtv | |
| [13:02:57] | zombor (zombor!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [13:10:09] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Remote host closed the connection) | |
| [13:30:17] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has joined #mythtv | |
| [13:32:53] | IReboot (IReboot!~doug@CPE10bf48e67915-CM00252eac6f40.cpe.net.cable.rogers.com) has quit (Remote host closed the connection) | |
| [13:33:56] | IReboot (IReboot!~doug@CPE10bf48e67915-CM00252eac6f40.cpe.net.cable.rogers.com) has joined #mythtv | |
| [13:40:53] | bas-t (bas-t!~tycho@52484e89.cm-4-1b.dynamic.ziggo.nl) has quit (Quit: Ex-Chat) | |
| [13:45:16] | dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has joined #mythtv | |
| [13:55:00] | dekarl1 (dekarl1!~dekarl@p4FE852F5.dip.t-dialin.net) has joined #mythtv | |
| [13:56:42] | dekarl (dekarl!~dekarl@p4FE84A8B.dip.t-dialin.net) has quit (Ping timeout: 276 seconds) | |
| [14:17:10] | IReboot (IReboot!~doug@CPE10bf48e67915-CM00252eac6f40.cpe.net.cable.rogers.com) has quit (Quit: Ex-Chat) | |
| [14:17:27] | IReboot (IReboot!~doug@CPE10bf48e67915-CM00252eac6f40.cpe.net.cable.rogers.com) has joined #mythtv | |
| [14:22:48] | zombor (zombor!~zombor__@50-73-122-41-ip-static.hfc.comcastbusiness.net) has joined #mythtv | |
| [14:22:49] | zombor (zombor!~zombor__@50-73-122-41-ip-static.hfc.comcastbusiness.net) has quit (Changing host) | |
| [14:22:49] | zombor (zombor!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [14:32:32] | Goga777 (Goga777!~Goga777@128-71-165-187.broadband.corbina.ru) has joined #mythtv | |
| [14:45:37] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has joined #mythtv | |
| [14:52:08] | kth (kth!~kth@unaffiliated/kth) has joined #mythtv | |
| [14:57:02] | stichnot: | peper03: for starters, MythDVDPlayer::GetSecondsPlayed(bool honorCutList) should probably read more like this: return (m_stillFrameLength > 0) ? (m_stillFrameTimer.elapsed() / 1000) : MythPlayer::GetSecondsPlayed(honorCutList); |
| [14:58:17] | stichnot: | but then there is still something weird going on with seeking to a particular frame |
| [15:39:47] | tmr_ (tmr_!~quassel@84.114.28.118) has quit (Remote host closed the connection) | |
| [15:56:29] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has quit (Ping timeout: 255 seconds) | |
| [16:26:50] | kth1 (kth1!~kth@host-091-097-227-217.ewe-ip-backbone.de) has joined #mythtv | |
| [16:28:56] | kth (kth!~kth@unaffiliated/kth) has quit (Ping timeout: 244 seconds) | |
| [16:34:39] | tmr_ (tmr_!~quassel@chello084114028118.14.vie.surfer.at) has joined #mythtv | |
| [16:35:45] | stichnot (stichnot!~stichnot@67.218.110.124) has joined #mythtv | |
| [16:35:46] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has joined #mythtv | |
| [16:35:46] | stichnot (stichnot!~stichnot@67.218.110.124) has quit (Changing host) | |
| [16:41:20] | peper03: | stichnot: That change in GetSecondsPlayed seems to work better under normal circumstances, but not with a still frame with audio. Then the progress bar stays at 0. Obviously something else needs to get hooked in somewhere to update the progress in that case. Nice and specific :) |
| [16:44:07] | Goga777 (Goga777!~Goga777@128-71-165-187.broadband.corbina.ru) has quit (Quit: Leaving) | |
| [16:44:31] | peper03: | stichnot: I see that MythDVDRingBuffer::GetCurrentTime is called from several places – AVFormatDecoderDVD::UpdateFramesPlayed and DVDFindPosition, and TV::DVDJumpForward. There's another call in MythDVDPlayer::DecoderGetFrameREW but that's maybe not as critical. |
| [16:47:39] | peper03: | Maybe all those calls are valid but they're probably worth looking at. Any time another class (in particular the player stuff) is requesting status information from the ringbuffer, I'm suspicious :) |
| [16:48:28] | stichnot: | peper03: I was just zeroing in on AvFormatDecoderDVD::UpdateFramesPlayed() as a likely place for seeking to get off |
| [16:49:40] | stichnot: | I wish I understood the original rationale for getting position information from the ring buffer rather than the player or at least the decoder |
| [16:51:00] | xavierh_ (xavierh_!~xavier@cpc1-swin3-0-0-cust274.3-1.cable.virginmedia.com) has quit (Ping timeout: 252 seconds) | |
| [16:51:59] | stichnot: | peper03: When the ring buffer reads ahead, does it execute VM commands as well, possibly before they should be executed? |
| [16:52:09] | peper03: | stichnot: I'm guessing it was innocently thinking 'the information is there, let's get it'. The fact that the ring buffer lags the presentation was probably overlooked/forgotten about. |
| [16:52:41] | stichnot: | the presentation lags the ring buffer, no? |
| [16:53:21] | peper03: | peper03: Sorry, yes. Even when you're aware of the problem, you still have to think about which way round everything is :) |
| [16:55:03] | peper03: | The ring buffer doesn't directly request the VM to execute commands. It reads data via libdvdnav. Which is then either executed by the VM or the raw video/audio/whatever data is passed back to the ring buffer. |
| [16:55:30] | FabriceMG (FabriceMG!~Thunderbi@LCaen-156-54-30-212.w80-11.abo.wanadoo.fr) has quit (Quit: FabriceMG) | |
| [16:55:52] | peper03: | Why I replied to me, I don't know :) |
| [16:56:11] | stichnot: | :) |
| [16:57:55] | peper03: | The ring buffer is basically consistent but only in its timeframe. The player/presentation side *should* be equally consistent but in a slightly offset timeframe. That's why it's bad for the player/presentation side of things to be querying the current state of the ringbuffer. |
| [16:58:30] | peper03: | And acting upon it as though it were *its* current state. |
| [16:59:40] | stichnot: | So the ring buffer could potentially read far ahead of the presentation and change the VM state in ways that shouldn't happen if the user does something like seek backwards before presentation reaches the point of the VM state change. |
| [17:00:04] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has quit (Ping timeout: 248 seconds) | |
| [17:01:40] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has quit () | |
| [17:03:31] | peper03: | Potentially. I doubt whether you would normally have any major seeking problems because of that though. I could image potential problems where two versions of a film are on a DVD and a section gets jumped over because of a VM register. If you tried to jump back X seconds, you could presumably land in the section the VM jumped over. |
| [17:04:15] | peper03: | I think those cases would be fairly specialized though. I wouldn't expect significant problems with the majority of discs. |
| [17:05:20] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has quit (Ping timeout: 255 seconds) | |
| [17:07:46] | tmr_ (tmr_!~quassel@chello084114028118.14.vie.surfer.at) has quit (Remote host closed the connection) | |
| [17:10:57] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has joined #mythtv | |
| [17:11:35] | peper03: | The ring buffer can also synchronize with the player by waiting for the player to empty its buffers. |
| [17:13:19] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv | |
| [17:17:29] | f33dMB (f33dMB!~f33dMB@li100-62.members.linode.com) has quit (Ping timeout: 255 seconds) | |
| [17:18:27] | jpabq: | danielk22: on #11334 when DTVRecorder::HandlePAT is called on one of the failures, _stream_data->DesiredProgram() is returning -1 |
| [17:18:27] | ** MythLogBot http://code.mythtv.org/trac/ticket/11334 ** | |
| [17:20:48] | stoffel (stoffel!~quassel@pD9E41268.dip.t-dialin.net) has quit (Ping timeout: 276 seconds) | |
| [17:22:18] | stichnot (stichnot!~stichnot@216.239.45.91) has joined #mythtv | |
| [17:22:19] | stichnot (stichnot!~stichnot@216.239.45.91) has quit (Changing host) | |
| [17:22:19] | stichnot (stichnot!~stichnot@mythtv/developer/stichnot) has joined #mythtv | |
| [17:40:10] | stichnot: | peper03: I'm thinking more along the lines of this (extreme) situation. Let's say the ring buffer is configured so large that it buffers 5 minutes of video. At the point where you decide to skip back 30 seconds or to the previous chapter, the ring buffer could have caused many end-of-cell VM commands to be executed which could change the VM state. Presumably skipping back will cause these... |
| [17:40:11] | stichnot: | ...commands to be re-executed. |
| [17:43:06] | cjo is now known as Seeker` | |
| [17:43:19] | Seeker` (Seeker`!~Chris@host109-154-190-19.range109-154.btcentralplus.com) has quit (Changing host) | |
| [17:43:19] | Seeker` (Seeker`!~Chris@unaffiliated/seeker) has joined #mythtv | |
| [17:44:56] | Merlin83b (Merlin83b!~Daniel@2a00:1ee0:3:1337:fde8:faa5:a8a5:c8) has quit (Read error: Connection reset by peer) | |
| [17:50:07] | wagnerrp: | something that's probably worth a read... http://kotaku.com/5975610/the-exceptional-bea . . . -source-code |
| [17:57:51] | Lomion0815 (Lomion0815!Lomion0815@178-190-68-19.adsl.highway.telekom.at) has joined #mythtv | |
| [17:59:09] | Lomion0815: | Is there a way to probe if the another encoder on the same dvb-device is busy/recording? |
| [18:00:16] | wagnerrp: | yes, check all other devices in the same input group |
| [18:00:30] | wagnerrp: | virtual tuners automatically share an input grou |
| [18:00:31] | wagnerrp: | p |
| [18:02:43] | ElmerFudd (ElmerFudd!~le@0x5737a682.cpe.ge-0-1-0-1101.hsnqu1.customer.tele.dk) has quit (Remote host closed the connection) | |
| [18:04:50] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Ping timeout: 272 seconds) | |
| [18:05:07] | ElmerFudd (ElmerFudd!~le@0x5737a682.cpe.ge-0-1-0-1101.hsnqu1.customer.tele.dk) has joined #mythtv | |
| [18:09:36] | Lomion0815: | Ans how would I "check" all other devices? CardUtil::GetConflictingCards(uint inputid, uint exclude_cardid)? |
| [18:38:11] | petefunk_ (petefunk_!~pfunk@198.23.147.3) has quit (Ping timeout: 252 seconds) | |
| [18:38:11] | brfransen (brfransen!~brfransen@64.179.141.163) has quit (Ping timeout: 252 seconds) | |
| [18:39:21] | brfransen (brfransen!~brfransen@64.179.141.163) has joined #mythtv | |
| [18:43:49] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has quit (Quit: Body blow! Body blow!) | |
| [18:47:54] | stuartm: | wagnerrp: quite a lot of that already agrees with our coding standards, one area we particularly deviate is the style, the blog post argues than compressing code down to as few lines as possible helps with readability – I'd say the exact opposite and so would other here, which is why we stipulate braces on new lines, and spacing between code blocks etc |
| [18:52:27] | jheizer: | I read it too and agree on new lines |
| [18:52:34] | stuartm: | well reading on, I'd disagree with a few other things too, e.g. typedefs are good assuming they aren't overused or misused, get/set methods are important, especially in multithreaded code where you made need to enforce locking etc |
| [18:53:16] | wagnerrp: | i don't think he said don't have then, just don't needlessly comment them |
| [18:54:02] | jheizer: | and leave out the //******************************************* lines |
| [18:54:13] | wagnerrp: | i actually quite like python "properties", which combine get/set methods into a single pseudo-variable |
| [18:54:38] | wagnerrp: | you just access the variable, and it calls the necessary methods behind the scenes |
| [18:57:07] | stuartm: | s/you made need/you may need/ |
| [18:59:17] | stuartm: | the point I'm getting at there is that all code evolves, if you write it a certain way from the beginning future changes become easier and less error prone, i.e. if you have get/set methods you need only add a couple of lines to introduce locking, or range/input validation, as opposed to modifying every single place that variable is used |
| [19:00:50] | Goga777 (Goga777!~Goga777@128-71-165-187.broadband.corbina.ru) has joined #mythtv | |
| [19:02:42] | stuartm: | on a related note, a guy I went to school with wrote a popular Q2 mod, ID bought the code off him and used it in Q3 |
| [19:03:08] | stuartm: | I always though that was pretty cool of ID, since it wasn't anything they couldn't have written from scratch themselves |
| [19:08:42] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has joined #mythtv | |
| [19:16:02] | wagnerrp: | i've never seen another major company so quick to open source their old proprietary code |
| [19:18:08] | petefunk (petefunk!~pfunk@198.23.147.3) has joined #mythtv | |
| [19:19:38] | stuartm: | or another big games company endeavour to make their stuff run on linux natively even back in the nineties |
| [19:19:48] | zombor (zombor!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [19:22:50] | dekarl1 is now known as dekarl | |
| [19:25:55] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv | |
| [19:28:41] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has quit (Quit: Konversation terminated!) | |
| [19:31:24] | dekarl: | Lomion0815: hmm, the patch I mentioned earlier has CardUtil::GetConflictingCards in it http://code.mythtv.org/trac/attachment/ticket/8251/8251-v1.patch |
| [19:37:26] | danielk22 (danielk22!~danielk@96.57.9.142) has quit (Ping timeout: 255 seconds) | |
| [19:41:23] | Lomion0815: | 8251 is not working ... I changed the patch and used RemoteIsBusy(cardids[i], busy_input); on every cardid on the same inputGroup ... I have to test the updated patch |
| [19:52:31] | danielk22 (danielk22!~danielk@96.57.9.142) has joined #mythtv | |
| [19:56:42] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has joined #mythtv | |
| [20:10:42] | zombor_ (zombor_!~zombor__@50-73-122-41-ip-static.hfc.comcastbusiness.net) has joined #mythtv | |
| [20:10:43] | zombor_ (zombor_!~zombor__@50-73-122-41-ip-static.hfc.comcastbusiness.net) has quit (Changing host) | |
| [20:10:43] | zombor_ (zombor_!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [20:11:24] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Read error: Connection reset by peer) | |
| [20:21:11] | Goga777 (Goga777!~Goga777@128-71-165-187.broadband.corbina.ru) has quit (Remote host closed the connection) | |
| [20:24:27] | zombor_ is now known as zombor | |
| [20:28:36] | peper03: | stichnot: Potentially, yes. I'm not sure there is a big difference, though, between skipping back 30 seconds to a point which the ringbuffer has already passed but the player has not and skipping back 5 minutes 30 seconds, which both have passed. |
| [20:30:08] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has quit (Quit: Konversation terminated!) | |
| [20:30:34] | peper03: | The only time I can see that being a problem is with conditional execution where the variables being checked are changed afterwards. That is probably the sort of area that would 'normally' be protected by UOPs. Then you're back into the question of do we strictly enforce UOPs or not? |
| [20:30:40] | Chutt (Chutt!~ijr@cpe-24-29-225-175.neo.res.rr.com) has quit (Read error: Connection reset by peer) | |
| [20:32:40] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has joined #mythtv | |
| [20:43:10] | natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has joined #mythtv | |
| [20:44:49] | stuartm: | if we don't then playback of DVDs breaks in ways that users may not understand and will likely blame the application for |
| [20:46:23] | stuartm: | if users are prone to shooting themselves in the foot, then don't let them have guns :) The minor inconvenience is probably better than DVDs failing to play |
| [20:49:01] | peper03: | stuartm: But on the other hand, it seems to be the minority of DVDs that would be affected. I absolutely understand the argument in favour of enforcing them and I wouldn't have a problem with it being the default behaviour as long as there was an option to turn it off. If someone complains that playback doesn't work and the option is off, get them to check that it still doesn't work with it turned on and reject tickets if they won't. |
| [20:49:02] | peper03: | Logging could be set to indicate when the option is turned off and a UOP was performed. |
| [20:50:22] | stichnot: | Do we have any code (apart from the libdvdnav code) for doing anything with uops? |
| [20:51:13] | peper03: | For me, the ability to skip UOPs is a feature. I *hate* being forced to watch trailers and other stuff before being allowed to finally get to the main feature. It's even worse when you've got little ones as their DVDs seem to be particularly badly afflicted :) |
| [20:51:56] | peper03: | stichnot: I've not seen anything so far. |
| [20:52:44] | stichnot: | good, then now is not the right time to start enforcing them :) |
| [21:01:42] | peper03: | Regarding coding styles: FWIW I prefer a bit of spacing too. Braces on their own lines make it easy to quickly identify blocks, as do blank lines between logical blocks of code. |
| [21:02:13] | peper03: | I'm quite happy to have comments as long as they are correct. Incorrect comments are worse than no comments, and comments should tend towards *why* something is being done rather than *what* is being done. |
| [21:02:51] | peper03: | Or even *how* it is being done. You can see that from the code, usually. |
| [21:03:34] | peper03: | But every situation is different. As an example, I more or less understand now what the different libdvdnav events are that are handled in DVDRingbuffer. That said, it would have been much easier if there had been better comments explaining what each event signified (such as I eventually found in dvdnav_events.h) |
| [21:03:34] | yelmu (yelmu!~ville@87-100-227-196.bb.dnainternet.fi) has joined #mythtv | |
| [21:04:15] | peper03: | It's very easy to get into a religous war about this stuff, though :) In the end, I try at the very least to maintain the style in the file I'm editing, whether I agree with everything or not. |
| [21:06:59] | peper03: | stichnot: How can I move 1 frame/second in a paused DVD? Left/Right, </> don't seem to do anything. |
| [21:10:09] | Chutt (Chutt!~ijr@cpe-24-29-225-175.neo.res.rr.com) has joined #mythtv | |
| [21:10:27] | Chutt: | new monitor is rather nice looking |
| [21:12:11] | Chutt: | i wonder if i could fit another beside it.. |
| [21:13:47] | jheizer: | Always |
| [21:13:57] | jheizer: | Can never have too many |
| [21:15:06] | kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has quit (Ping timeout: 240 seconds) | |
| [21:15:33] | kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv | |
| [21:15:37] | SteveGoodey (SteveGoodey!~steve@host86-149-167-13.range86-149.btcentralplus.com) has quit (Quit: Konversation terminated!) | |
| [21:15:55] | wagnerrp: | and when you have so many monitors, there's no room for any kind of printouts, you've gone paperless! |
| [21:18:09] | jheizer: | Haha I work from home. Only piece of paper on ym desk has some demisions scratched down for a bookshelf I plan to build on a free weekend. (If I ever have one again) |
| [21:21:27] | kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has quit (Ping timeout: 260 seconds) | |
| [21:24:21] | kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv | |
| [21:28:48] | peper03: | danielk22: According to #10019, you are/were working on improving low bitrate streaming. Has anything happened with that? I'm wondering if that would help with the still DVD frame with audio problem that we end up buffering too much. Apart from anything else, it means that things like changing the volume takes about 10 seconds to take effect. |
| [21:28:48] | ** MythLogBot http://code.mythtv.org/trac/ticket/10019 ** | |
| [21:36:43] | zombor (zombor!~zombor__@kohana/developer/zombor) has quit (Remote host closed the connection) | |
| [21:39:59] | dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has quit (Quit: Ex-Chat) | |
| [21:50:57] | peper03: | danielk22: Or maybe the bigger issue is how to delay processing in AvFormatDecoder so that 10+ seconds of an audio-only stream aren't processed before the data is actually played? |
| [21:53:37] | sraue (sraue!~stephan@xbmc/staff/sraue) has quit (Quit: Ex-Chat) | |
| [21:54:31] | Lomion0815 (Lomion0815!Lomion0815@178-190-68-19.adsl.highway.telekom.at) has quit () | |
| [22:02:11] | peper03 (peper03!~peper03@port-92-203-100-61.dynamic.qsc.de) has quit (Quit: Konversation terminated!) | |
| [22:06:48] | stichnot: | peper03: To enable DVD seeking while paused, you have to disable two checks in tv_play.cpp: remove "!isDVDStill && " before the call to SeekHandleAction(), and in SeekHandleAction() itself, remove the test on !isDVD . |
| [22:07:42] | stichnot: | I'm working on a patch to remove all the needless DVD-specific prohibitions on seeking, and these are part of the patch in progress. |
| [22:10:47] | stichnot: | peper03, stuartm: I haven't looked into the interaction between DVDRingBuffer and libdvdnav, but in my ideal world, all the VM changes induced by the readahead ringbuffer thread would be speculative and not committed until the player actually reaches the appropriate point. |
| [22:25:03] | jon__ (jon__!~jon@c-98-226-220-178.hsd1.il.comcast.net) has joined #mythtv | |
| [22:25:59] | kth1 (kth1!~kth@host-091-097-227-217.ewe-ip-backbone.de) has quit (Quit: Leaving.) | |
| [22:58:46] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has quit () | |
| [23:19:43] | jon__ (jon__!~jon@c-98-226-220-178.hsd1.il.comcast.net) has quit (Ping timeout: 245 seconds) | |
| [23:27:13] | yoyolala (yoyolala!~yoyolala@unaffiliated/yoyolala) has joined #mythtv | |
| [23:33:08] | jheizer (jheizer!~jheizer@c-98-226-220-178.hsd1.il.comcast.net) has quit (Ping timeout: 248 seconds) | |
| [23:42:03] | yoyolala (yoyolala!~yoyolala@unaffiliated/yoyolala) has quit (Quit: leaving) | |
| [23:44:07] | stichnot: | natanojl: Do you have any thoughts on #9429 ? I don't really have any way of reproducing/testing this, and the original reporter has not responded to our requests for more information. |
| [23:44:07] | ** MythLogBot http://code.mythtv.org/trac/ticket/9429 ** | |
| [23:45:18] | stichnot: | I finally figured out how I broke jumping backward in the LiveTVChain in 0.26. *sigh* |
| [23:46:30] | jams: | stichnot, it's actually that way in .25 as well..unless thats a different problem |
| [23:49:37] | natanojl: | stichnot: I ripped the first disc a few days ago but I don't know how I could create a sample. The full rip is 6.9 GB |
| [23:51:47] | stichnot: | natanojl: you attached a patch to the ticket — does it work? |
| [23:51:57] | natanojl: | anyway, time to get some sleep |
| [23:52:06] | natanojl: | yeah, it did |
| [23:53:11] | stichnot: | jams: so in 0.25, if you're 5 minutes into the second live TV chain entry and you try to jump backwards 10 minutes, what happens? |
| [23:53:49] | jams: | stichnot, it will not go back any farther then the start of the 2nd live tv chain |
| [23:54:10] | jams: | so in that case it jumps to the start of program b |
| [23:54:10] | stichnot: | ok, I'll have another look at the 0.25 code |
| [23:54:53] | zombor (zombor!~zombor__@65.29.231.135) has joined #mythtv | |
| [23:54:54] | zombor (zombor!~zombor__@65.29.231.135) has quit (Changing host) | |
| [23:54:54] | zombor (zombor!~zombor__@kohana/developer/zombor) has joined #mythtv | |
| [23:54:58] | stichnot: | in 0.26, there is some code that explicitly limits the target time to 0 (whereas negative would have caused it to check the live TV chain) |
| [23:55:54] | stichnot: | it is the code in TV::DoSeek() which says "if (desiredFrameRel < 0) desiredFrameRel = 0;" |
| [23:56:47] | jams: | that looks very easy to read without giving it a 2nd thought |
| [23:58:26] | natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Ping timeout: 255 seconds) | |
| [23:59:52] | stichnot: | This seek/position/duration code is unbelievably complex, juggling so many things at once: cutlists, varying frame rates, live TV, in-progress recordings, DVD video, DVD still frames, DVD menus, and surely more things I haven't tripped over yet |
IRC Logs collected by
BeirdoBot.
Please use the above link to report any bugs.