Monday, April 23rd, 2012, 00:39 UTC | ||
[00:39:15] | jya: | stichnot: did you backport all the changes there to liveTV? |
[00:39:21] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has joined #mythtv | |
[00:40:24] | stichnot: | I think so. |
[00:40:44] | stichnot: | that was my intention, at least |
[00:41:20] | stichnot: | basically reverting everything previous and disabling the call to SetTimeout() |
[00:47:06] | stichnot: | I realized I still need to revert the non-logging portion of http://code.mythtv.org/trac/changeset/7c7852f . . . 1fd0d/mythtv in master, for completeness |
[00:57:14] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has quit (Ping timeout: 245 seconds) | |
[01:05:25] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Remote host closed the connection) | |
[01:08:33] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv | |
[01:13:57] | danielk22: | stichnot: I think putting everything in the LiveTVChain class under a mutex shouldn't cause any problems. |
[01:14:44] | stichnot: | good, then I don't need to revert :) I couldn't see any real potential for performance problems. |
[01:16:57] | danielk22: | I'm not up to speed on the threading in the video playback classes. But I'm pretty sure it's just three threads involved, one for the ring buffer, one for the decoding and the UI threads. I don't think there is any real contention for the LiveTVChain. So the only thing that might cause problems is any callback from the LiveTVChain (which could potentially cause a deadlock). |
[01:17:15] | danielk22: | s/UI threads/UI thread/ |
[01:19:37] | noahric (noahric!~noahric@50.46.147.0) has quit (Quit: noahric) | |
[01:19:46] | [TheAsp]: | danielk22: is now an appropriate time to remind you about h264 over firewire? :) |
[01:20:24] | ** [TheAsp] watches danielk run away ** | |
[01:20:25] | danielk22: | [TheAsp]: Yes :) What is the ticket #? I'll look at it tomorrow. |
[01:20:42] | [TheAsp]: | lemme find it |
[01:21:02] | [TheAsp]: | #10080 |
[01:21:02] | ** MythLogBot http://code.mythtv.org/trac/ticket/10080 ** | |
[01:21:39] | [TheAsp]: | You may be right about the PAT or PMT not getting overwritten, but that patch makes 95% of my recordings work fine |
[01:21:52] | [TheAsp]: | if not more |
[01:22:36] | k-man (k-man!~jason@unaffiliated/k-man) has joined #mythtv | |
[01:24:27] | [TheAsp]: | also, i'm still married, so that says something there |
[01:26:31] | danielk22: | That counts for something :) |
[01:28:16] | stichnot: | danielk22: I found the ringbuffer readahead thread calling tvchain->HasNext() in the middle of the UI thread reloading the live tv chain, causing the readahead buffer to prematurely set oldfile on the backend. I ended up removing that section that calls HasNext(), but thought it would be best to finish making the class thread-safe. |
[01:29:13] | stichnot: | I should probably look through the history of livetvchain.cpp to see if there were ever deadlock problems |
[01:30:03] | jya (jya!~jyavenard@mythtv/developer/jya) has quit (Read error: Connection reset by peer) | |
[01:30:24] | jya (jya!~jyavenard@120.148.99.165) has joined #mythtv | |
[01:30:24] | jya (jya!~jyavenard@120.148.99.165) has quit (Changing host) | |
[01:30:24] | jya (jya!~jyavenard@mythtv/developer/jya) has joined #mythtv | |
[01:30:56] | danielk22: | stichnot: I'd like to try to change RingBuffer so it doesn't rely on safe_read() always reading a set amount of data unless it's at EOF. And in a similar vein RingBuffer::Read() should be able to return 0 bytes with EAGAIN when at the end of a file we're still writing to (assuming libav handles it well when AVF_Read returns with that errno). |
[01:32:40] | danielk22: | Right now we spend a lot of energy and cause a lot of pausing just trying to make sure reads always return all the data requested on every read. |
[01:36:55] | stichnot: | That makes sense, from the portion I've been staring at lately. |
[01:38:05] | danielk22: | I think it began as a simplification when MythTV was a much smaller project, but at this point maintaining that simplification has become far too complex. |
[01:45:37] | stichnot: | It would also be a good idea to rethink the whole Live TV architecture. I feel like there shouldn't be nearly so many moving parts. |
[01:46:04] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has quit (Quit: Body blow! Body blow!) | |
[01:48:26] | danielk22: | Yeah, I'm not quite sure why it is so complex. |
[01:49:15] | danielk22: | There may of course be good reasons, that I just don't know of or recall. |
[02:33:47] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv | |
[02:45:38] | mag0o (mag0o!20001@slackhost.lynchmv.com) has joined #mythtv | |
[02:46:12] | brtb_ (brtb_!~brtb@linode.brtb.net) has joined #mythtv | |
[02:46:44] | mrand1 (mrand1!~mrand@cpe-76-184-144-133.tx.res.rr.com) has joined #mythtv | |
[02:50:21] | tgm4883` (tgm4883`!~tgm4883@2001:4968:202:3:20f:eaff:fefc:ba0e) has joined #mythtv | |
[02:50:32] | Captain_Murdoch (Captain_Murdoch!~cpinkham@mythtv/developer/CaptainMurdoch) has quit (Quit: Leaving) | |
[02:52:53] | mag0o_ (mag0o_!20001@slackhost.lynchmv.com) has quit (*.net *.split) | |
[02:52:54] | mrand (mrand!~mrand@ubuntu/member/mrand) has quit (*.net *.split) | |
[02:52:54] | ikke-t (ikke-t!~ikke@a91-152-41-226.elisa-laajakaista.fi) has quit (*.net *.split) | |
[02:52:54] | laga (laga!~laga@h1626373.stratoserver.net) has quit (*.net *.split) | |
[02:52:54] | tgm4883 (tgm4883!~tgm4883@ubuntu/member/tgm4883) has quit (*.net *.split) | |
[02:52:55] | brtb (brtb!~brtb@linode.brtb.net) has quit (*.net *.split) | |
[02:57:11] | gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has quit (Read error: Connection reset by peer) | |
[03:14:21] | gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has joined #mythtv | |
[03:16:55] | cyclicflux (cyclicflux!~cyclicflu@pool-108-15-65-229.bltmmd.fios.verizon.net) has quit (Read error: No route to host) | |
[03:18:56] | jya (jya!~jyavenard@mythtv/developer/jya) has quit (Quit: jya) | |
[03:25:41] | FinnTux (FinnTux!~smr@et456.netikka.fi) has quit (Ping timeout: 248 seconds) | |
[03:39:10] | stichnot: | danielk22: I was just running a live TV stress test for a while, and it looks like the backend hit some kind of deadlock where recordings were going on but it wasn't responding to frontend connection attempts. I think I may need to revert the LiveTVChain locking changes to be safe. |
[03:40:20] | stichnot: | since real shows were recording, I wanted to restart the backend as quickly as possible, so unfortunately I didn't take time to grab a stack trace |
[03:43:55] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Remote host closed the connection) | |
[03:45:43] | tgm4883` is now known as tgm4883 | |
[04:00:51] | ikke-t (ikke-t!~ikke@a91-152-41-226.elisa-laajakaista.fi) has joined #mythtv | |
[04:00:51] | laga (laga!~laga@h1626373.stratoserver.net) has joined #mythtv | |
[04:23:34] | tgm4883: | In 0.25, what does smolt query for the OS info? |
[04:24:28] | tgm4883: | I ask as mythbuntu installs are falling under Ubuntu, and if we can get that separated out that would be awesome |
[04:27:41] | cesman (cesman!~cesman@pdpc/supporter/professional/cesman) has quit (Read error: No route to host) | |
[04:36:08] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has quit (Remote host closed the connection) | |
[04:44:11] | jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has joined #mythtv | |
[04:46:14] | dinamic|screen (dinamic|screen!~dinamic@alcatraz.cendio.se) has quit (Ping timeout: 260 seconds) | |
[04:48:04] | damaltor_ (damaltor_!sbnc@h1889977.stratoserver.net) has joined #mythtv | |
[04:49:07] | wagnerrp: | tgm4883: http://code.mythtv.org/trac/browser/mythtv/my . . . os_detect.py |
[04:50:24] | wagnerrp: | basically, it loops through that list of files until it finds one that exists, and reads its contents |
[04:51:08] | wagnerrp: | if you want special recognition, probably best to add a separate file for it to pick up |
[04:51:35] | cesman (cesman!~cesman@pool-173-51-174-58.lsanca.fios.verizon.net) has joined #mythtv | |
[04:51:35] | wagnerrp: | its an ordered dictionary, so we would just stuff you somewhere near the top with the other myth distros |
[04:51:35] | cesman (cesman!~cesman@pdpc/supporter/professional/cesman) has joined #mythtv | |
[04:51:35] | cesman (cesman!~cesman@pool-173-51-174-58.lsanca.fios.verizon.net) has quit (Changing host) | |
[04:51:52] | wagnerrp: | (mythvantage, knoppmyth, linhes, mythdora] |
[04:52:30] | wagnerrp: | or, i guess you could replace the contents of /etc/debian_version |
[04:56:35] | tris- (tris-!tristan@2001:1868:a00a::4) has joined #mythtv | |
[04:57:41] | tgm4883 (tgm4883!~tgm4883@2001:4968:202:3:20f:eaff:fefc:ba0e) has quit (*.net *.split) | |
[04:57:42] | cocoa117 (cocoa117!~cocoa117@188-222-31-239.zone13.bethere.co.uk) has quit (*.net *.split) | |
[04:57:42] | danielk22 (danielk22!~danielk@96.57.9.142) has quit (*.net *.split) | |
[04:57:42] | dinamic (dinamic!~dinamic@c-154072d5.020-128-6e6b701.cust.bredbandsbolaget.se) has quit (*.net *.split) | |
[04:57:43] | damaltor (damaltor!sbnc@h1889977.stratoserver.net) has quit (*.net *.split) | |
[04:57:44] | stuarta (stuarta!~stuarta@callisto.ppp0.squashedfrog.net) has quit (*.net *.split) | |
[04:57:44] | aloril (aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi) has quit (*.net *.split) | |
[04:57:44] | tris (tris!tristan@2001:1868:a00a::4) has quit (*.net *.split) | |
[04:57:48] | sunkan (sunkan!~sunkan@alva.zappa.cx) has quit (*.net *.split) | |
[04:57:50] | tris- is now known as tris | |
[04:58:00] | damaltor_ is now known as damaltor | |
[05:02:34] | jams: | heh last time i asked they didn't want mythbuntua seperated out |
[05:03:31] | jams: | i beleive the reason was "it didn't make sense to do that" |
[05:12:38] | stuarta (stuarta!~stuarta@2a01:348:39::1) has joined #mythtv | |
[05:12:38] | tgm4883 (tgm4883!~tgm4883@2001:4968:202:3:20f:eaff:fefc:ba0e) has joined #mythtv | |
[05:12:38] | dinamic (dinamic!~dinamic@c-154072d5.020-128-6e6b701.cust.bredbandsbolaget.se) has joined #mythtv | |
[05:12:38] | cocoa117 (cocoa117!~cocoa117@188-222-31-239.zone13.bethere.co.uk) has joined #mythtv | |
[05:12:38] | danielk22 (danielk22!~danielk@96.57.9.142) has joined #mythtv | |
[05:12:38] | aloril (aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi) has joined #mythtv | |
[05:14:20] | sunkan (sunkan!~sunkan@alva.zappa.cx) has joined #mythtv | |
[05:16:20] | dinamic|screen (dinamic|screen!~dinamic@alcatraz.cendio.se) has joined #mythtv | |
[05:18:10] | andreax (andreax!~andreaz@p54BF1E4A.dip.t-dialin.net) has quit (Read error: Connection reset by peer) | |
[05:28:39] | dinamic|screen (dinamic|screen!~dinamic@alcatraz.cendio.se) has quit (Remote host closed the connection) | |
[05:29:43] | jya (jya!~jyavenard@120.148.99.165) has joined #mythtv | |
[05:29:43] | jya (jya!~jyavenard@120.148.99.165) has quit (Changing host) | |
[05:29:44] | jya (jya!~jyavenard@mythtv/developer/jya) has joined #mythtv | |
[05:29:54] | jya: | wagnerrp: you're there? |
[05:30:33] | wagnerrp: | yeah |
[05:31:34] | jya: | I'm looking as to why iTunes -> RAOP doesn't work (iPhone and iPad works well) |
[05:32:52] | jya: | I'm pretty sure that it's 37385baff83eea77116d13e22be96b74cfde2cec that broke it |
[05:33:38] | jya: | during the "SETUP" process during the communication |
[05:33:46] | jya: | this is something neither iphone or ipad does |
[05:34:31] | wagnerrp: | if something broke there, i did not intentionally change the behavior |
[05:34:34] | jya: | when it comes to re-create a new connection server, you create a new ServerPool, which will fail to bind because we already have a sever pool there |
[05:34:58] | wagnerrp: | the only significant change i can think of its moving that UDP receive loop out of that code, and into the server pool |
[05:35:04] | jya: | line 622/623 |
[05:35:10] | jya: | it used to open a QUdpSocket |
[05:35:17] | jya: | you replaced that with a ServerPool |
[05:35:25] | jya: | and in the log when trying to bing I get: |
[05:35:32] | jya: | Failed binding to UDP 127.0.0.1:6001 |
[05:35:32] | wagnerrp: | right, which just opens a number of QUdpSockets |
[05:35:56] | jya: | this returns an error, and as such, RAOP stop and disconnect the client |
[05:36:45] | wagnerrp: | didnt you change that a few days ago so that it ignores errors and continues with the rest of the IPs listed for listening? |
[05:37:51] | jya: | that's only in the listen in mythraopdevice |
[05:37:58] | jya: | that's another component |
[05:38:07] | jya: | mythraopdevice.cpp |
[05:38:17] | jya: | if (listen(QNetworkInterface::allAddresses(), m_setupPort, false)) |
[05:38:28] | jya: | here the error comes from: |
[05:38:56] | jya: | if (!m_clientControlSocket->bind(control_port)) right after creating the ServerPool in mythraopconnection.cpp |
[05:39:53] | jya: | in that commit , you changed tabulations in a lot of places, it's hard to follow |
[05:40:33] | wagnerrp: | yeah, that was consequence of moving the loop outside that code |
[05:41:10] | jya: | actually, even in processing the control data , the code you replaced isn't equivalent |
[05:41:44] | jya: | never mind that last part |
[05:42:18] | jya: | what did the loop do? |
[05:42:56] | wagnerrp: | just continue to loop until there were no more datagrams in the QUdpSocket to process |
[05:43:26] | wagnerrp: | when more data was available, it would restart the loop |
[05:43:39] | jya: | ok.. so I need to replace that bind |
[05:43:45] | jya: | with the same type of change we did earlier |
[05:43:53] | jya: | so it tries to bind on all interfaces |
[05:44:09] | jya: | and make the requireall=false |
[05:45:53] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Ping timeout: 256 seconds) | |
[05:45:54] | jya: | would be more elegant to only listen to the interface the data control is on |
[05:46:03] | jya: | rather than all interfaces |
[05:46:37] | wagnerrp: | meaning dynamically add UDP sockets as connections come in over TCP? |
[05:47:10] | jya: | RAOP first establish a TCP channel to listen for new clients (that's what raopdevice does) |
[05:47:22] | jya: | when a new client comes in, and send a SETUP |
[05:47:30] | jya: | if creates another control channel |
[05:47:44] | jya: | RAOP is a TCP control channel, and UDP data channel |
[05:48:27] | jya: | how can I create a new ServerPool that only listen to a specific address? |
[05:48:30] | jya: | (and port) |
[05:48:44] | jya: | irrelevant to what backend IP has been set etc? |
[05:49:16] | wagnerrp: | just create one, and tell it to listen on some QList<QHostAddress> |
[05:49:50] | jya: | ok… how do I retrieve the QHostAddress of a previous ServerPool that got a connection earlier? |
[05:49:54] | wagnerrp: | right now, there is nothing preventing you from calling it multiple times |
[05:49:58] | jya: | like the address used to connect the first time |
[05:50:16] | wagnerrp: | it wouldnt be difficult to add a method to just connect to a single qhostaddress |
[05:50:33] | wagnerrp: | and some additional logic to let you drop one later |
[05:50:43] | jya: | I can easily create a QList of QHostAddress, which is what it currently expects |
[05:51:03] | jya: | what Id like to do is retrieve the address of the previous connection to an earlier ServerPool |
[05:51:12] | wagnerrp: | well i mean you just add another ->listen() whenever you get a new control connection |
[05:51:23] | jya: | for the time being I'm going to listen on all interfaces, but it's not pretty |
[05:51:34] | jya: | that's not what I meant... |
[05:51:41] | jya: | let me rephrase it |
[05:51:56] | wagnerrp: | yeah, looking through the code to answer you |
[05:52:16] | jya: | when a RAOP client connect to the RAOP server, it first establish a new control channel |
[05:52:16] | wagnerrp: | when you get a new TCP connection in, it emits a 'newConnection(QTcpSocket)' |
[05:52:28] | wagnerrp: | i think you should be able to pull the endpoints of that connection from the QTcpSocket |
[05:52:34] | jya: | if it receives a SETUP command, it drops that control channel, and create a new one |
[05:52:54] | jya: | when creating a new one, I want to only listen to the interface that was used by the first control channel |
[05:53:07] | jya: | because I doubt any call will ever arrive from another interface |
[05:53:14] | wagnerrp: | QTcpSocket::localAddress() and QTcpSocket::peerAddress() |
[05:53:30] | jya: | i don't really want to change the API right now, I intend to backport that to 0.25 |
[05:53:39] | jya: | there were a few non-freed bit in there |
[05:53:46] | wagnerrp: | to be honest, im not sure how to grab the specific interface, or only listen on a specific interface |
[05:55:32] | jya: | ok… never mind then, I'll listen to all interfaces |
[05:55:39] | jya: | that code is a tad messy |
[05:55:39] | dekarl1 is now known as dekarl | |
[05:56:00] | jya: | the original control channel is created when the client first connect in mythraopdevice.cpp |
[05:56:20] | jya: | but if the SETUP command is received , mythraopconnection.cpp delete the existing channel, and create a new one |
[05:57:37] | jya: | tjere |
[05:59:01] | jya: | there's no way markk original code could have worked |
[06:00:29] | jya: | when a setup command is received, according to what other raop server are doing. A new control channel is created, and the old one announce what the new control channel is (port and address), then the old control port closes itself |
[06:01:02] | jya: | here it closes the old port, and open a new one. that's it at no time is client told to what address it should now connect |
[06:38:04] | sannes (sannes!~ace@cm-84.209.72.206.getinternet.no) has joined #mythtv | |
[06:39:03] | hashbang (hashbang!~alex@213-152-35-50.dsl.eclipse.net.uk) has joined #mythtv | |
[06:42:21] | MaverickTech (MaverickTech!~MaverickT@111.86.233.220.static.exetel.com.au) has joined #mythtv | |
[06:50:40] | jya: | wagnerrp: actually, my bad, that code is supposed to connect to the RAOP client , which it used to do, instead now your changes create a server locally… |
[06:54:50] | ben1066_ (ben1066_!~quassel@host109-152-64-198.range109-152.btcentralplus.com) has joined #mythtv | |
[06:57:34] | ben1066 (ben1066!~quassel@host109-152-86-37.range109-152.btcentralplus.com) has quit (Ping timeout: 272 seconds) | |
[07:04:08] | jya: | wagnerrp: your change significantly altered the behaviour of the code…. i'll have to revert most of it |
[07:05:59] | jya: | i'd dare say that it completely broke most of it |
[07:12:35] | hashbang (hashbang!~alex@213-152-35-50.dsl.eclipse.net.uk) has quit (Quit: Leaving.) | |
[07:26:45] | jya: | it's no wonder the packet asked to be resent are never received really… sigh |
[07:52:03] | rsiebert_ (rsiebert_!~quassel@g231184054.adsl.alicedsl.de) has joined #mythtv | |
[07:52:29] | rsiebert (rsiebert!~quassel@g226062159.adsl.alicedsl.de) has quit (Ping timeout: 246 seconds) | |
[08:01:02] | stoffel (stoffel!~quassel@pD9E4333A.dip.t-dialin.net) has joined #mythtv | |
[08:27:03] | highzeth (highzeth!~hz@23-9-11.connect.netcom.no) has joined #mythtv | |
[08:46:39] | highzeth (highzeth!~hz@23-9-11.connect.netcom.no) has quit (Ping timeout: 265 seconds) | |
[09:25:31] | xavierh (xavierh!~xavier@cpc1-swin3-0-0-cust274.3-1.cable.virginmedia.com) has joined #mythtv | |
[09:36:20] | pclark (pclark!~pclark@193.35.11.125) has joined #mythtv | |
[09:50:37] | pclark (pclark!~pclark@193.35.11.125) has quit (Remote host closed the connection) | |
[10:05:03] | Guest11347 (Guest11347!~mike@c-98-232-220-158.hsd1.or.comcast.net) has quit (Remote host closed the connection) | |
[10:05:50] | mike (mike!~mike@c-98-232-220-158.hsd1.or.comcast.net) has joined #mythtv | |
[10:06:16] | mike is now known as Guest6492 | |
[10:20:06] | pclark (pclark!~pclark@193.35.11.116) has joined #mythtv | |
[10:37:09] | rickyw (rickyw!~ricky@121-73-189-6.dsl.telstraclear.net) has quit (Ping timeout: 250 seconds) | |
[10:37:10] | ricky_ (ricky_!~ricky@121-73-183-72.dsl.telstraclear.net) has joined #mythtv | |
[10:37:36] | ricky_ is now known as Guest61394 | |
[10:46:12] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[10:55:30] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Remote host closed the connection) | |
[11:09:37] | pclark_ (pclark_!~pclark@193.35.11.125) has joined #mythtv | |
[11:09:41] | pclark (pclark!~pclark@193.35.11.116) has quit (Ping timeout: 248 seconds) | |
[11:50:07] | dmfrey (dmfrey!~dmfrey@64-121-93-243.c3-0.smt-ubr1.atw-smt.pa.cable.rcn.com) has quit (Quit: Ex-Chat) | |
[12:01:01] | pclark_ (pclark_!~pclark@193.35.11.125) has quit (Remote host closed the connection) | |
[12:11:44] | cocoa117 (cocoa117!~cocoa117@188-222-31-239.zone13.bethere.co.uk) has quit (Quit: Leaving) | |
[12:22:59] | pclark (pclark!~pclark@193.35.11.116) has joined #mythtv | |
[12:26:43] | cocoa117 (cocoa117!~cocoa117@188-222-31-239.zone13.bethere.co.uk) has joined #mythtv | |
[12:33:31] | pclark (pclark!~pclark@193.35.11.116) has quit (Ping timeout: 260 seconds) | |
[12:38:27] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv | |
[12:49:32] | dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has joined #mythtv | |
[12:50:44] | pclark (pclark!~pclark@193.35.8.5) has joined #mythtv | |
[12:55:05] | pclark (pclark!~pclark@193.35.8.5) has quit (Remote host closed the connection) | |
[12:57:50] | pclark (pclark!~pclark@193.35.8.5) has joined #mythtv | |
[12:58:56] | pclark (pclark!~pclark@193.35.8.5) has quit (Remote host closed the connection) | |
[13:01:14] | wagnerrp: | jya: looking back through that code, making it ignore failed connections wont work |
[13:01:25] | wagnerrp: | since it is supposed to catch failed connections, and try back on a different port |
[13:01:28] | jya: | i know that :) |
[13:02:42] | jya: | using ServerPool for that control channel couldn't have worked, because there's no signal attached to the m_udpSend in ServerPool |
[13:03:08] | jya: | ServerPool really is useful if the service is running locally, but not to connect to a remote server and getting data from it |
[13:03:52] | wagnerrp: | youre never supposed to get anything from m_udpSend, as it never gets bound to anything |
[13:03:58] | jya: | ServerPool does exactly what it is supposed to do, it just isn't usable for the type of connection required by RAOP.. |
[13:04:13] | wagnerrp: | its just a dummy socket to output through |
[13:04:26] | jya: | well, you do get packet from it... |
[13:04:33] | jya: | here is my current working patch |
[13:04:40] | wagnerrp: | you shouldnt, since its connectionless |
[13:04:50] | wagnerrp: | its not listening anywhere to receive on |
[13:05:15] | jya: | http://pastebin.com/2WWCQ4tj |
[13:06:22] | jya: | after applying the patch, check like 699 |
[13:06:43] | jya: | I do (like the original code used to do before you modified it) connect(m_clientControlSocket, SIGNAL(readyRead()), this, SLOT(udpDataReady())); |
[13:06:46] | wagnerrp: | 699 in the patch, or in the resultant code? and what file? |
[13:07:05] | jya: | in the resultant code, libmythtv/mythraopconnection.cpp |
[13:07:47] | jya: | since doing so, I receive the missed packet asked for resent... |
[13:07:53] | jya: | previously they were never received |
[13:09:51] | wagnerrp: | ah, i see what youre getting at |
[13:10:11] | wagnerrp: | when a new device connects to the airplay server, it spawns a new connection |
[13:10:16] | wagnerrp: | which has its own serverpool |
[13:10:36] | wagnerrp: | however it should only be using a single socket, on a single address/port, negotiated on during the connection |
[13:11:21] | wagnerrp: | or actually, for the UDP stuff, it would need to be a single shared socket |
[13:11:34] | wagnerrp: | with some discriminator that sends the proper data to the proper link |
[13:13:00] | jya: | easier the way it is |
[13:13:12] | wagnerrp: | or does each link already go on its own port? |
[13:13:51] | jya: | i couldn't use serverpool for that channel |
[13:13:58] | jya: | because it always tries to bind locally |
[13:14:29] | jya: | and with iTunes for example, the control_port is the same as the existing connection port created by RAOPDevice |
[13:14:37] | jya: | so the bind would fail for all interfaces |
[13:14:53] | jya: | as the interfaces list is then empty, it returns an error |
[13:15:56] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has joined #mythtv | |
[13:16:33] | pclark (pclark!~pclark@193.35.11.125) has joined #mythtv | |
[13:18:23] | wagnerrp: | before i start digging too much further into this, are there any changes to the server pool that would be beneficial to this stuff? |
[13:19:00] | wagnerrp: | otherwise, im just going to continue with previous plans... implement a multi-selector (instead of just one IPv4 and one IPv6), and add triggers to refresh the listen sockets when IPs get changed |
[13:19:10] | jya: | It could, but then I think the name should be changed |
[13:19:18] | jya: | because it's no server anymore, it becomes a client |
[13:19:29] | jya: | i thought about it earlier |
[13:20:20] | jya: | otherwise, simply have a method that do not try to bind locally, and assign a signal to m_udpSend |
[13:20:22] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[13:21:06] | wagnerrp: | the m_udpSend was actually added a few weeks after the initial changes |
[13:21:24] | wagnerrp: | it was previously just pulling one of the existing bound sockets off the list, and sending out through that |
[13:21:27] | jya: | i'm guessing for RAOP no ? |
[13:21:34] | wagnerrp: | only the problem was since it was bound |
[13:21:44] | wagnerrp: | and likely bound somewhere other than where you wanted the datagram to be sent |
[13:21:53] | wagnerrp: | the datagram would get filtered and never actually sent |
[13:21:55] | jya: | I would call it ConnectionPool or something like that |
[13:22:05] | jya: | can work either as a server, or as a pure client |
[13:22:33] | jya: | the signal it sent when data is received is easier to use than the Qt default stuff |
[13:23:16] | wagnerrp: | where it sent the actual datagram, rather than a notification a datagram was available? |
[13:25:14] | wagnerrp: | the problem with some kind of shared connection pool is that you would have multiple MythRAOPConnection instances hooking into it |
[13:25:29] | wagnerrp: | so they all listen on that same signal, they all get sent everyone's datagrams |
[13:25:48] | wagnerrp: | unless a whole lot of that code gets restructured |
[13:26:16] | jya: | actually, here I would have multiple connection pool |
[13:26:25] | jya: | where a connection pool is really only one connection |
[13:26:31] | jya: | just makes it a tad easier to use |
[13:26:53] | jya: | and what I'd like is also add easy debugging, so I can sniff what's going on |
[13:27:21] | jya: | I'm at the byte level trying to understand why iTunes disconnect the audio |
[13:27:33] | jya: | when another airtunes client , has no problem doing so |
[13:27:51] | stichnot: | jya: I'm no longer seeing live TV problems, hopefully the same will be true for you. |
[13:28:16] | jya: | by removing all the code like you did ? :) |
[13:28:22] | stichnot: | yep |
[13:28:27] | jya: | it's like TinTin in the Soviet |
[13:28:39] | stichnot: | didn't I predict it would end up a 1-line-fix? |
[13:28:54] | jya: | his car explodes, he puts back all the parts in the boot, has quite a few left, and it all works |
[13:29:11] | jya: | stichnot: actually, it was I who said it's likely going to be a one-liner |
[13:29:17] | stichnot: | wow, you really did describe mythtv livetv |
[13:29:44] | partoj (partoj!~par@94.127.35.115.c.fiberdirekt.net) has joined #mythtv | |
[13:29:49] | partoj (partoj!~par@94.127.35.115.c.fiberdirekt.net) has left #mythtv () | |
[13:29:58] | jya: | problem is that you can bet someone will come up with a bizarre scenario that the code you removed was actually handling, and something weird will be broken |
[13:30:01] | jya: | happen all the time |
[13:33:06] | stichnot: | hmm, this is weird. was just playing live tv on one tuner, got a popup saying that something else wants to record (but on a different tuner), what should I do. I click OK, and now nothing will connect to the backend. I see from the logs that the backend is still recording live TV |
[13:33:23] | stichnot: | guess it's a good time to grab a stack trace, see what's deadlocked |
[13:33:46] | jya: | stichnot: that's something someone reported on the user list |
[13:33:58] | jya: | that the "something want to record" actually has no more any effect |
[13:34:23] | jya: | he had a deadlock once , and it did nothing another time, the recoridng was missed |
[13:34:24] | stichnot: | do you happen to have a subject line? |
[13:34:41] | jya: | it was a few days ago |
[13:34:43] | stichnot: | it's bizarre that the dialog came up in the first place |
[13:34:48] | stichnot: | OK I'll look |
[13:36:11] | jya: | "Cancelled recordings in 0.25" |
[13:36:25] | jya: | April, 22nd |
[13:37:13] | jya: | I too thought it was weird that it prompted that messag |
[13:37:21] | jya: | unless he only has one tuner |
[13:38:13] | jya: | I would have thought with danielk22 liveTv change it wouldn't happen anymore |
[13:39:03] | stichnot: | duh. I have those two tuners bound to an input group for testing, that's why it popped up. |
[13:39:10] | danielk22: | jya: if it is on another tuner that should only matter if they are in the same input group. |
[13:39:22] | stichnot: | danielk22: yep, that's it |
[13:41:25] | stichnot: | interesting — in this deadlock situation (or whatever it is), mythbackend isn't responding to a "kill <pid>" |
[13:42:53] | danielk22: | stichnot: killall -6 mythbackend should provide a core, assuming proper ulimits |
[13:44:13] | stichnot: | too late :) but in any case, I already attached gdb to the process and got a stack trace |
[13:44:56] | stichnot: | that must be what happened yesterday that I speculatively blamed on the LiveTVChain locking |
[13:49:12] | pclark (pclark!~pclark@193.35.11.125) has quit (Remote host closed the connection) | |
[13:49:57] | stichnot: | looks like a deadlock in the scheduler |
[13:51:04] | stichnot: | Scheduler::GetNextLiveTVDir() and GetAllPending() both waiting on schedLock |
[13:51:15] | stichnot: | not sure yet who's holding the lock |
[13:52:47] | danielk22: | I'm not sure why GetNextLiveTVDir() needs the lock |
[13:53:40] | Goga777 (Goga777!~Goga777@128-71-36-119.broadband.corbina.ru) has joined #mythtv | |
[13:54:43] | danielk22: | gigem: Doesn't schedLock just protect the RecLists in Scheduler? Or has it been extended to protect other variables? |
[13:54:43] | stichnot: | stack trace http://pastebin.com/r8qeYTfa |
[13:56:42] | danielk22: | stichnot: neither of those methods has the lock. I think it is Scheduler::run() that has the lock and it's stuck in EncoderLink::StartRecording() |
[13:58:00] | danielk22: | #6 TVRec::StopRecording (this=0xb5462180, killFile=false) at tv_rec.cpp:702 |
[13:58:00] | ** MythLogBot http://code.mythtv.org/trac/ticket/6 ** | |
[13:58:19] | jya: | who was after a 3D mpeg-ts sample again? |
[14:03:04] | Goga777 (Goga777!~Goga777@128-71-36-119.broadband.corbina.ru) has quit (Ping timeout: 245 seconds) | |
[14:05:10] | danielk22: | stichnot: The -v record log would be useful. Esp the "Attempting to stop card %1 in state %2". Perhaps we are trying to call RemoteStopRecording() on ourselves there? That would cause a deadlock. |
[14:06:47] | stichnot: | I should have a "-v most" log |
[14:09:45] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has joined #mythtv | |
[14:12:29] | j-rod|afk is now known as j-rod | |
[14:27:21] | stichnot: | jya: that -users list post looks very relevant. |
[14:27:30] | jya: | great |
[14:27:31] | gigem: | danielk22: off the top of my head, yes, schedLock only protects recList. |
[14:33:05] | stichnot: | I'll do some work to prune my 200MB backend log and open a new ticket. |
[14:47:38] | jya: | itunes works !!! youhou |
[14:50:54] | pclark (pclark!~pclark@193.35.11.125) has joined #mythtv | |
[14:58:06] | pclark (pclark!~pclark@193.35.11.125) has quit (Remote host closed the connection) | |
[15:02:44] | pclark (pclark!~pclark@193.35.11.125) has joined #mythtv | |
[15:08:14] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Ping timeout: 246 seconds) | |
[15:08:20] | pclark (pclark!~pclark@193.35.11.125) has quit (Remote host closed the connection) | |
[15:10:39] | jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has quit (Quit: Coyote finally caught me) | |
[15:24:58] | pclark (pclark!~pclark@193.35.8.5) has joined #mythtv | |
[15:31:39] | bremner (bremner!~bremner@yantan.tethera.net) has joined #mythtv | |
[15:44:53] | danielk22: | gigem: It's not really the issue here, but we should probably document which members are protected by which lock in Scheduler. |
[15:46:09] | bremner (bremner!~bremner@yantan.tethera.net) has left #mythtv ("Channel buffer killed") | |
[15:47:18] | jya: | wagnerrp: oh, I have a 10.5 VM as well |
[15:47:22] | jya: | can test our theory |
[15:48:18] | jya: | wrong window |
[15:55:01] | joki (joki!~joki@p54864E7A.dip.t-dialin.net) has quit (Ping timeout: 248 seconds) | |
[15:55:44] | joki (joki!~joki@p548658CB.dip.t-dialin.net) has joined #mythtv | |
[15:58:15] | Goga777 (Goga777!~Goga777@128-71-36-119.broadband.corbina.ru) has joined #mythtv | |
[15:59:31] | gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has quit (Quit: Leaving) | |
[16:02:18] | _charly_ (_charly_!kroseneg@sunrise.schmidham.net) has joined #mythtv | |
[16:02:50] | pclark (pclark!~pclark@193.35.8.5) has quit (Remote host closed the connection) | |
[16:07:37] | Goga777 (Goga777!~Goga777@128-71-36-119.broadband.corbina.ru) has quit (Read error: Connection reset by peer) | |
[16:22:49] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv | |
[16:25:14] | gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has joined #mythtv | |
[16:49:38] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has quit (Ping timeout: 240 seconds) | |
[16:50:59] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has joined #mythtv | |
[16:53:35] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Ping timeout: 246 seconds) | |
[16:54:03] | jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has joined #mythtv | |
[16:55:21] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[17:04:24] | stuartm: | "(AddFrame) Deadlock detected. One buffer is full when the other is empty! Aborting" << Been a while since I've seen that, although it's also been a while since I did any transcoding |
[17:06:39] | stuartm: | http://pastebin.com/VSXtidXx |
[17:22:49] | stoffel (stoffel!~quassel@pD9E4333A.dip.t-dialin.net) has quit (Ping timeout: 246 seconds) | |
[17:23:54] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has joined #mythtv | |
[17:24:40] | gregL_ (gregL_!~greg@cpe-74-76-125-87.nycap.res.rr.com) has joined #mythtv | |
[17:25:02] | gregL_ (gregL_!~greg@cpe-74-76-125-87.nycap.res.rr.com) has quit (Client Quit) | |
[17:36:03] | ben1066_ (ben1066_!~quassel@host109-152-64-198.range109-152.btcentralplus.com) has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) | |
[17:36:31] | ben1066 (ben1066!~quassel@host109-152-64-198.range109-152.btcentralplus.com) has joined #mythtv | |
[17:41:08] | ben1066 (ben1066!~quassel@host109-152-64-198.range109-152.btcentralplus.com) has quit (Changing host) | |
[17:41:08] | ben1066 (ben1066!~quassel@unaffiliated/ben1066) has joined #mythtv | |
[17:44:02] | Beirdo: | stuartm: we're STILL getting that? crap |
[17:51:25] | petefunk (petefunk!~pfunk@unaffiliated/petefunk) has joined #mythtv | |
[17:54:40] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has quit (Ping timeout: 246 seconds) | |
[18:05:23] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Read error: Connection reset by peer) | |
[18:05:55] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[18:14:49] | stuartm: | not sure I understand the logic that results in ok == 0 there, my gut instinct is that the conditionals are backwards but for both of them to be wrong seems unlikely, so it's probably that I don't understand what it's doing |
[18:16:32] | mrand1 (mrand1!~mrand@cpe-76-184-144-133.tx.res.rr.com) has quit (Ping timeout: 252 seconds) | |
[18:18:12] | stuartm: | ah ok, yeah, I see – the two buffers in question are the video buffer and the audio buffer – code seems correct in that case |
[18:18:56] | stuartm: | code badly needs some documentation and better variable naming |
[18:20:52] | Beirdo: | yeah. |
[18:21:08] | Beirdo: | I might find some time to get a leg up on that sometime. |
[18:21:57] | Beirdo: | of course, others are welcome to give it a shot, I probably only understand it slightly better than others due to the QT3->QT4 changes, and likely don't understand it fully anyways :) |
[18:26:41] | hashbang (hashbang!~alex@213-152-35-50.dsl.eclipse.net.uk) has joined #mythtv | |
[18:26:50] | stuartm: | it would be nice to get it fixed, and it seems like a decent challenge, but I could do a lot more with the time I'd likely spend just getting to know that code |
[18:27:46] | stuartm: | there's a pretty good reason why it's remained unfixed for so long |
[18:30:06] | alang (alang!~alang@167.251.208.218.klj02-home.tm.net.my) has joined #mythtv | |
[18:32:05] | alang (alang!~alang@167.251.208.218.klj02-home.tm.net.my) has left #mythtv () | |
[18:33:56] | Beirdo: | yeah |
[18:34:23] | Beirdo: | I wouldn't mind taking another stab at it at some point, but I think I have enough on the go at the exact moment ;) |
[18:35:01] | Beirdo: | would be nice to be able to do the same for H.264 and/or MPEG4 |
[18:35:13] | Beirdo: | and it shouldn't be impossible, the logic is basically the same |
[18:46:54] | andreax (andreax!~andreaz@p5089F774.dip.t-dialin.net) has joined #mythtv | |
[18:49:36] | mrand (mrand!~mrand@ubuntu/member/mrand) has joined #mythtv | |
[18:50:59] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has joined #mythtv | |
[18:55:08] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has quit (Ping timeout: 240 seconds) | |
[19:05:45] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has joined #mythtv | |
[19:28:02] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has quit (Ping timeout: 252 seconds) | |
[19:28:40] | skd5aner (skd5aner!~skd5aner@cpe-071-071-242-134.carolina.res.rr.com) has joined #mythtv | |
[19:28:59] | jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has quit (Ping timeout: 246 seconds) | |
[19:51:36] | cocoa117 (cocoa117!~cocoa117@188-222-31-239.zone13.bethere.co.uk) has quit (Ping timeout: 260 seconds) | |
[20:05:06] | cocoa117 (cocoa117!~cocoa117@78.129.173.178) has joined #mythtv | |
[20:07:18] | highzeth (highzeth!~hz@77-21-11.connect.netcom.no) has joined #mythtv | |
[20:08:23] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has quit (Ping timeout: 245 seconds) | |
[20:13:15] | dekarl1 (dekarl1!~dekarl@p4FCEE8FA.dip.t-dialin.net) has joined #mythtv | |
[20:15:10] | dekarl (dekarl!~dekarl@p4FCEF2B0.dip.t-dialin.net) has quit (Ping timeout: 250 seconds) | |
[20:19:54] | kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has joined #mythtv | |
[20:27:49] | natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has joined #mythtv | |
[20:39:15] | Toast (Toast!~quassel@87.127.37.199) has joined #mythtv | |
[20:40:08] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Ping timeout: 240 seconds) | |
[20:43:20] | NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv | |
[20:45:42] | Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has quit () | |
[20:47:03] | highzeth (highzeth!~hz@77-21-11.connect.netcom.no) has quit (Ping timeout: 265 seconds) | |
[20:48:45] | dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has quit (Quit: Ex-Chat) | |
[20:51:53] | jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has joined #mythtv | |
[20:54:07] | cocoa117 (cocoa117!~cocoa117@78.129.173.178) has quit (Ping timeout: 264 seconds) | |
[20:56:32] | dekarl1: | hmm, why does that give me a double instead of a nice hexadecimal uint? QString ....arg(TeletextPageNum(i), 2, 16, '0')... |
[20:56:32] | dekarl1: | it appears to print 16 decimal digits instead (0.0000000...) of two hexadecimal digits (00) |
[20:56:35] | dekarl1 is now known as dekarl | |
[21:07:38] | Beirdo: | umm |
[21:07:50] | Beirdo: | that should be 0, 16 |
[21:07:52] | Beirdo: | IIRC |
[21:07:54] | Beirdo: | one sec |
[21:08:06] | dekarl: | I'm trying with QChar('0') now ;) |
[21:08:45] | Beirdo: | what exactly do you want? |
[21:08:53] | Beirdo: | like 0a |
[21:09:25] | dekarl: | I have a BCD encoded page number with special page digits a-f => standard hexadecimal, and I want to print 00 to ff |
[21:09:56] | dekarl: | so carousel '1' + page '00' makes page number one hundred ;) |
[21:09:58] | natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Read error: Connection reset by peer) | |
[21:10:20] | Beirdo: | k. ,2,16,QChar('0') is probably what you want |
[21:10:30] | dekarl: | I'll know in a minute |
[21:10:33] | Beirdo: | what's the type of TeletextPagenum(i)? |
[21:10:36] | dekarl: | uint |
[21:10:56] | Beirdo: | k. |
[21:11:05] | Beirdo: | I think that should be right |
[21:11:19] | j-rod is now known as j-rod|afk | |
[21:11:49] | cocoa117 (cocoa117!~cocoa117@109.73.65.219) has joined #mythtv | |
[21:12:00] | Beirdo: | you might need to smack it harder and do (int)TeletextPagenum(i) |
[21:12:13] | Beirdo: | or (uint) or whatever (if it's somehow getting confused |
[21:12:15] | Beirdo: | ) |
[21:17:20] | dekarl: | QChar(x) was enough: Teletext Descriptor: 1 pages, Type (1) Magazine (1) Page (00) Language (deu) |
[21:18:01] | dekarl: | thanks, now I can look if anybody is signalling where they are hiding the closed caption pages ;) (different page per stations/language) |
[21:19:49] | stichnot: | A user privately reports that after #10161 (background buttonlist loading to speed up loading of Watch Recordings), he's not seeing coverart. Can anyone confirm or deny? |
[21:19:49] | ** MythLogBot http://code.mythtv.org/trac/ticket/10161 ** | |
[21:20:08] | stichnot: | actually he said fanart. I don't know the difference between them |
[21:22:56] | stuartm: | stichnot: 'coverart' are actually 'posters' in the main, the movie poster you typically see outside the cinema, 1:1.5 aspect ratio – fanart is user created artwork derived from posters, publicity photos or screen captures with an aspect ration of 16:9 |
[21:24:10] | stichnot: | I see. I think my theme just uses fanart as the giant background |
[21:25:01] | stuartm: | stichnot: I've yet to test master with the changes in place, I'll update and let you know |
[21:25:02] | stichnot: | I have noticed that the fanart may not show up until after the background loading completes, which is a little puzzling to me, but since it does eventually show up, my interest in that oddity drops |
[21:25:14] | stichnot: | ok, thanks. |
[21:25:17] | stuartm: | my new theme uses coverart for films |
[21:25:34] | stichnot: | films as in MythVideo content? |
[21:25:53] | stuartm: | no recordings, but it's only shown for films not tv episodes |
[21:26:09] | stichnot: | ah |
[21:27:16] | stichnot: | there should be no difference between fanart and coverart in terms of the mechanics of fetching it from the backend and drawing it, right? |
[21:28:46] | stuartm: | I'm not aware of a difference |
[21:37:22] | hashbang (hashbang!~alex@213-152-35-50.dsl.eclipse.net.uk) has quit (Quit: Leaving.) | |
[21:44:53] | jpabq: | When was 0.24 initially released? |
[21:45:33] | stuartm: | stichnot: coverart is working here, but I only have 400 odd recordings in my 'default' recgroup |
[21:45:46] | wagnerrp: | jpabq: early november, 2010 |
[21:45:57] | wagnerrp: | the release notes page has the exact date/commit |
[21:46:04] | stichnot: | jpabq: http://www.mythtv.org/wiki/Release_Notes_-_0.24 |
[21:46:17] | wagnerrp: | that release notes page |
[21:46:23] | stuartm: | if for some reason it doesn't show until background loading has finished and the user has a huge number of recordings ... |
[21:46:24] | wagnerrp: | :) |
[21:46:31] | jpabq: | wagnerrp, wow. That was a long time. Thanks guys. |
[21:47:12] | stichnot: | stuartm: you'd need lots of recordings plus a slow frontend (which I have) |
[21:48:07] | stichnot: | the background loading logs every 100th load (every 500th after the first 1000), so you can kind of see when it's completed |
[21:49:26] | stuartm: | stichnot: right, the backend load completes in less than 500ms, I can't even select an entry with coverart from the list in that time ;) |
[21:51:39] | stichnot: | I have ~2400 recordings in All Recordings, so it's a little slower :) |
[21:56:10] | cocoa117 (cocoa117!~cocoa117@109.73.65.219) has quit (Ping timeout: 246 seconds) | |
[21:56:45] | stuartm: | are you ever going to watch them? ;) |
[21:57:59] | stuartm: | I could spend days/weeks catching up with my 428 recordings |
[22:01:23] | stuartm: | tvdb kinda sucks for foreign series, there's a mess of duplicates and no simple 'report problem' link, they aren't really updating the site to deal with the scale of the database :( |
[22:01:51] | stichnot: | At least 1500 are all possible episodes of various kids shows, god help me should I delete even one. But even without those, there are way too many... |
[22:02:07] | stichnot: | If I stopped working on myth, maybe I'd have time to watch them :) |
[22:02:32] | skd5aner: | jpabq: 516 days (that's 1 year, 4 months, 30 days) between 0.24 and 0.25 release dates |
[22:03:20] | skd5aner: | jpabq: I did the math when I wrote the 0.25 release announcement – it had been so long, I wanted to actually call it out to indicate that a ton of work had went in within that time frame |
[22:03:56] | stuartm: | stichnot: ah, if I really want to keep something to watch again I export it to mythvideo since that's better for browsing series than the recordings screen, but it's still a rather rare thing – there's not much I actually want to watch more than once :) |
[22:04:56] | skd5aner: | stuartm: yea, I don't think they've understood how to scale their product – and I don't mean from a network bandwidth perspective |
[22:05:25] | skd5aner: | stuartm: I think they thought it'd basically be an autopilot/self-maintaining system – like such a thing exists |
[22:05:55] | ** skd5aner has begged the musicbrainz people to start tvbrainz ** | |
[22:06:25] | skd5aner: | they've said they'd be interested, but their next step is album art, then probably books, then maybe tv – so I wouldn't expect anything in the next 5 years |
[22:06:55] | stuartm: | skd5aner: and yet quite a lot of stuff on tvdb depends on 'admin' intervention, changing incorrect images etc, linking together different language entries for the same series and more besides |
[22:07:06] | stuartm: | books? really? |
[22:07:15] | skd5aner: | so they say |
[22:07:24] | skd5aner: | seems... ambitious |
[22:08:11] | stuartm: | can't say I understand that one ... there are other book databases, ISBN for a start, but really what purpose would it serve and as you say it's hugely ambitious |
[22:08:29] | skd5aner: | look Google and Amazon handle that I say |
[22:08:33] | skd5aner: | s/look/let |
[22:08:56] | skd5aner: | and, ISBN isn't a great "database" – it's a glorified barcode |
[22:09:11] | cocoa117 (cocoa117!~cocoa117@46.37.189.44) has joined #mythtv | |
[22:09:22] | stuartm: | skd5aner: heh, there is a database behind it though |
[22:09:32] | skd5aner: | and there are a lot more published works that don't contain an ISBN than those that do |
[22:10:03] | skd5aner: | but, yea... |
[22:10:31] | skd5aner: | and they've mentioned that they aren't too interested in movies, because they feel that imdb handles what they'd want to cover there |
[22:10:42] | stuartm: | if you put a book on an e-reader/tablet then you've almost certainly bought it, complete with artwork/metadata and it's not like those devices allow you to pull in additional metadata from a third party source, so I'm not sure what the purpose of a book version of musicbrainz would be |
[22:11:22] | skd5aner: | Well, musicbrainz started originally as a way to identify tracks/CDs, and download and tag... but they're mission now is "complete music encyclopedia" |
[22:11:48] | skd5aner: | they want to be the be-all-end-all source for data about artists, albums, tracks, etc |
[22:12:41] | stuartm: | skd5aner: historical works you mean? I've never seen a book published after ~1946 which doesn't have an ISBN |
[22:12:46] | skd5aner: | they've recently re-launched their partnership with last.fm (in fact, having someone from musicbrainz sit on-site there) and they also have a big partnership with the BBC and Guardian to provide them with metadata about music |
[22:13:37] | stuartm: | skd5aner: interesting – I'd have thought All Music Guide and similiar would have that locked up tight |
[22:13:51] | skd5aner: | stuartm: historical, custom print, etc |
[22:14:06] | stuartm: | skd5aner: hmm, even the custom print books I've got have an ISBN |
[22:14:47] | stuartm: | I just checked that because it seemed like it might be the one obvious exception |
[22:14:48] | danielk22: | [TheAsp]: It looks like the code in 10080 would eat up a lot of CPU! You haven't noticed high CPU with this patch applied? |
[22:14:52] | skd5aner: | stuartm: nah – I think they consider themselves that source now actually – but obviously they feel more of a portal at times than the source itself – I've started seeing a lot of devs actually writing bots to popular the base metadata for all artists/albums/tracks, such as wiki links, etc |
[22:15:04] | [TheAsp]: | no |
[22:15:18] | [TheAsp]: | virtually no cpu while recording off of fw |
[22:15:26] | [TheAsp]: | btw, i copied that out of another recorder |
[22:15:35] | [TheAsp]: | :P |
[22:15:40] | danielk22: | [TheAsp]: Which one? |
[22:15:43] | [TheAsp]: | sec |
[22:15:53] | [TheAsp]: | iptv for 0.24 i think |
[22:16:00] | [TheAsp]: | but hold on |
[22:16:22] | danielk22: | Heh, the one I'm about to kill for extreme bugginess then? :) |
[22:16:34] | skd5aner: | stuartm: heh – yea, in the last 20 years, it's a little better in terms of registration – especially since migrating to 13 digit ISBNs... but my parents have worked in the text book business for ~40 years... I've picked up a few things along the way ;) |
[22:17:03] | skd5aner: | and I believe ISBN was actually started in the 70's if I'm not mistaken |
[22:17:03] | stuartm: | skd5aner: fair enough |
[22:17:31] | [TheAsp]: | iptv in 0.25, i think it was another one for my 0.24 patch |
[22:18:21] | stuartm: | skd5aner: well I've seen out of print books older than that with an ISBN in catalogues, so I guess there was some effort made to assign an ISBN to older works |
[22:18:32] | skd5aner: | but, back to the real topic applicable here – I'm pretty much prepared for thetvdb or tmdb to simply dissapear without notice any day |
[22:18:38] | danielk22: | stuartm: It's pretty common to have an ISBN post 2000+ since online sellers won't sell your book without one, but a lot of stuff from the 1990's and earlier doesn't have ISBN. |
[22:20:01] | [TheAsp]: | danielk22: why would it be high cpu usage? |
[22:20:33] | [TheAsp]: | that findpid thing? |
[22:20:34] | danielk22: | Because you are using FindPID on every 188 bytes of data. |
[22:20:40] | skd5aner: | stuartm: yea, I believe that older titles can receive an ISBN retroactively if they are to be printed again, but I honestly don't know/remember if a completely out of print book could/would receive an ISBN if a newer edition was never to be printed |
[22:21:43] | danielk22: | skd5aner: I think the problem is that the original publisher has to get the ISBN, which they don't do for out-of-print books. |
[22:21:57] | [TheAsp]: | i never said it was perfect ;) |
[22:22:16] | stuartm: | danielk22: huh, I wonder if that's a US/UK thing, I briefly went over my book shelves and couldn't find a book from 80s-now without an ISBN, early editions of books published between 40s and 60s are lacking them, as is to be expected |
[22:22:31] | [TheAsp]: | daniel, 2% cpu while recording though |
[22:22:43] | [TheAsp]: | i suppose it could be cached ;) |
[22:22:49] | skd5aner: | correct, but it could be owned by a current publisher with no intent or republishing – I'm not sure if they'd have interest in doing it from a catalog standpoint or not... might ask my dad and see if he knows (i'm sure he does) |
[22:22:51] | danielk22: | [TheAsp]: I'll write up a new patch and attach it to the ticket. |
[22:23:33] | [TheAsp]: | btw, i was able to use a few methods from the superclass rather than the ones in the recorder |
[22:23:42] | skd5aner: | Most books from the 90's for sure had ISBN... I actually worked in a variety of bookstores for several years back then :) |
[22:24:16] | [TheAsp]: | SetStreamData was one if I remember correctly |
[22:25:39] | skd5aner: | stuartm: I'm surprised that the data quality on shows for the UK seems to be consistently poor for you |
[22:26:45] | skd5aner: | that said, I know I've personally added some artwork for shows that I was shocked didn't already have any (and no one has added more since) |
[22:27:12] | skd5aner: | and it frustrates me when show titles aren't correct |
[22:27:35] | skd5aner: | ah, dinner's ready – later :) |
[22:29:46] | stuartm: | skd5aner: actually these were Danish/Swedish shows, there are some issues with UK stuff but it's a lot better |
[22:35:40] | stuartm: | skd5aner: interestingly I noticed that some 60s/70s books had a 9 digit number on them, wikipedia suggests that was the SBN, which was the fore-runner of the ISBN and was used in the UK until 1974 |
[22:37:14] | stuartm: | so it seems it was standard industry practice to give a book an SBN/ISBN from an earlier date, probably explains why I can't really find a book published after the mid 60s without an (I)SBN in my collection |
[22:37:51] | ** stuartm now has to start putting a heap of books back on the shelves ** | |
[22:42:21] | stuartm: | anyhow while googling, I noted there are several book database services already around, including one offering data 12+ million books complete with artwork and one called ISBNdb with 6+ million, hard to see how the musicbrainz folk hope to compete |
[22:43:08] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Ping timeout: 240 seconds) | |
[22:50:43] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[22:56:56] | cocoa117 (cocoa117!~cocoa117@46.37.189.44) has quit (Read error: Connection reset by peer) | |
[23:10:37] | zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Remote host closed the connection) | |
[23:12:19] | Toast (Toast!~quassel@87.127.37.199) has quit (Remote host closed the connection) | |
[23:13:59] | cocoa117 (cocoa117!~cocoa117@109.73.66.67) has joined #mythtv | |
[23:17:42] | zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv | |
[23:46:16] | jya_ (jya_!~jyavenard@120.148.99.165) has joined #mythtv | |
[23:46:16] | jya_ (jya_!~jyavenard@120.148.99.165) has quit (Changing host) | |
[23:46:16] | jya_ (jya_!~jyavenard@mythtv/developer/jya) has joined #mythtv | |
[23:50:10] | jya (jya!~jyavenard@mythtv/developer/jya) has quit (Ping timeout: 260 seconds) | |
[23:50:11] | jya_ is now known as jya | |
[23:58:24] | rhl (rhl!~rhl@cohomology.cs.dartmouth.edu) has joined #mythtv | |
[23:58:29] | stichnot (stichnot!~chatzilla@192.55.54.42) has joined #mythtv | |
[23:58:29] | stichnot (stichnot!~chatzilla@192.55.54.42) has quit (Changing host) | |
[23:58:29] | stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv | |
[23:58:58] | rhl: | Hi, I am building a computer which I want to have an FM Radio Tuner. I want to use a TV Tuner with FM Radio built in. Can anyone recommend any single PCI-E card which has this and works under linux? |
[23:59:10] | rhl: | Bonus points if it is ~$30 |
IRC Logs collected by
BeirdoBot.
Please use the above link to report any bugs.