:: #mythtv-theming

Daily chat history

Current users (15):

anykey__, brfransen, Captain_Murdoch, gregL, iamlindoro, jpabq, jpabq-, knightr, mag0o, mrand, MythLogBot, rooaus, sphery, stuartm, wagnerrp
Thursday, January 27th, 2011, 04:33 UTC
[04:33:32] iamlindoro is now known as BanHammerBrown
[04:33:44] BanHammerBrown is now known as iamlindoro
[06:01:24] jpabq- (jpabq-! has quit (Ping timeout: 240 seconds)
[06:01:27] jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has quit (Ping timeout: 240 seconds)
[06:02:20] jpabq (jpabq!~jpabq@mythtv/developer/jpabq) has joined #mythtv-theming
[06:03:19] jpabq- (jpabq-! has joined #mythtv-theming
[06:37:32] simonckenyon (simonckenyon!~simoncken@ has joined #mythtv-theming
[07:24:48] natanojl (natanojl! has joined #mythtv-theming
[07:30:27] natanojl (natanojl! has quit (Ping timeout: 265 seconds)
[07:45:55] sphery (sphery!~mdean@mythtv/developer/sphery) has quit (Ping timeout: 265 seconds)
[07:51:28] sphery (sphery! has joined #mythtv-theming
[07:51:28] sphery (sphery!~mdean@mythtv/developer/sphery) has joined #mythtv-theming
[07:51:28] sphery (sphery! has quit (Changing host)
[07:51:28] Mode for #mythtv-theming by ChanServ!ChanServ@services. : +v sphery
[08:21:01] simonckenyon|2 (simonckenyon|2!~simoncken@ has joined #mythtv-theming
[08:22:45] simonckenyon (simonckenyon!~simoncken@ has quit (Ping timeout: 260 seconds)
[09:37:31] simonckenyon|2 (simonckenyon|2!~simoncken@ has quit (Remote host closed the connection)
[09:57:17] simonckenyon (simonckenyon!~simoncken@ has joined #mythtv-theming
[13:09:09] stuartm: iamlindoro: do you think a libmythnetmedia (or similar) would be a good idea? There seems to be a sufficient number of files related to that stuff to justify grouping them into a new lib
[13:36:29] simonckenyon (simonckenyon!~simoncken@ has quit (Ping timeout: 276 seconds)
[15:34:31] iamlindoro: stuartm: I guess I'm on the fence on that one-- there might be enough, but I think I might have been trying to go with the least offensive way to get them into the core libs a year or so ago
[15:35:05] iamlindoro: stuartm: I had envisioned a google-tv like integration with the TV OSD before Google TV was announced, and still intend to work on that in the (I hope) not too distant future
[15:35:28] iamlindoro: Not that that answers your question-- my answer to that is that I guess I could go either way
[15:39:42] iamlindoro: FWIW I'm not sure the httppool still has much of a reason to exist-- it's ugly as hell and many of the places it's used are better handled by mythdownloadmanager
[15:42:01] stuartm: it's really just a question of organisation, keeping related parts together and segregated so that maintenance is kept simple, there are no politics involved in suggesting a new library – there are other groups of code which might benefit e.g. audio
[15:42:54] stuartm: and libmythtv is oversized IMHO, might be an idea to split that up into two or three parts – playback/recording/common
[15:43:54] stuartm: iamlindoro: I'm just shuffling things around atm, if mythhttppool is deprecated then it should be marked as such so we can port over the remaining uses before deleting it
[15:55:02] iamlindoro: stuartm: I would not be in the least offended if you felt like breaking it out in that fashion, but I will honestly say that if it's left to me to do it it could be some time, precious little time left for Myth for the next couple months
[15:56:53] stuartm: iamlindoro: I'll see whether I still feel like it after I've finished breaking up libmyth into existing libraries for my amusement
[16:13:43] Captain_Murdoch: do either of you konw what mythrssmanager is used for? it appears to leak QNetworkAccessManager's in RSSSite::retrieve()
[16:14:24] iamlindoro: It's part of the aforementioned network base classes-- mostly just used for MNV right now
[16:14:25] Captain_Murdoch: s/'//
[16:14:39] iamlindoro: Whatever the issue is would be my fault, so feel free to fix or tell me what to fix ;)
[16:15:08] iamlindoro: I do so hate it when I leak QNetworkAccessManagers, my carpet is ruined
[16:16:49] Captain_Murdoch: :) easier to convert to MythDownloadManager probably rather than fixing a bug in code that's going away. it looks like it creates a new QNetworkAccessManager for every time it calls that method and it calls that method every time the timer fires and we update. plus, it creates a QNetworkAccessManager for every feed it appears when it could share one. yeah, eaiser to just convert than fix probably.
[16:17:07] iamlindoro: The code is going away?
[16:17:15] iamlindoro: News to me
[16:19:33] Captain_Murdoch: the qnetworkaccessmanager code since it coudl use MDM instead.
[16:19:44] iamlindoro: I'm not sure I fathom how these could be leaking, but I do concur it could be converted to MDM
[16:20:15] iamlindoro: (and BTW that's not saying there's not a leak there, just that I don't get it)
[16:21:08] Captain_Murdoch: it appears the code calls ::doUpdate() every time the timer fires. that in turn calls slotRefreshRSS() which loops through each site calling ::retrieve(). retreive() creates a new QNetworkAccessManager each time it runs.
[16:21:37] Captain_Murdoch: so we're creating a new QNetworkAccessManager for every site every time the timer fires
[16:21:51] iamlindoro: Right, so maybe wasteful, but I'm not seeing the leak?
[16:21:59] Captain_Murdoch: we never delete them
[16:22:12] Captain_Murdoch: just keep allocating new ones over and over and over and over
[16:22:20] Captain_Murdoch: for the same site
[16:22:46] Captain_Murdoch: m_manager gets overwritten each time ::retrieve() is called.
[16:22:47] iamlindoro: so presumably just calling delete m_manager; right above allocating the new one is a clean enough short term fix?
[16:23:18] Captain_Murdoch: no, because the calls are asynchronous, so that old QNetworkAccessManager might still be in use downloading something.
[16:24:01] Captain_Murdoch: the get() calls are processed in the background, and we loop through the sites calling get for each one. then we get events back when the gets complete.
[16:24:32] Captain_Murdoch: should just "if (!m_manager) m_manager = new QNetworkAccessManager;" that's a short-term fix
[16:24:36] Captain_Murdoch: share the QNetworkAccessManager
[16:26:15] Captain_Murdoch: converting to MDM will also benefit from the QNetworkDiskCache, I don't think there's any cache inherent in QNetworkAccessManager, so we keep refetching RSS feeds even if they haven't changed. that'll be a bonus to moving to MDM.
[16:26:29] Captain_Murdoch: also, for that "if (!m_manager)" put the connect() inside that 'if' as well.
[16:28:29] iamlindoro: Works for me, thanks
[16:33:36] Captain_Murdoch: yw, no problem. so does that file not use mythhttppool (anymore)? could also remove the #include if that's true. that's the only reason I was in the file looking, because mythhttppool.h is included in mythrssmanager.h
[16:34:15] iamlindoro: Yeah, I think the stuf that did got broken out, and then subsequently got converted to MDM
[16:34:27] iamlindoro: specifically, I think I had some early image/thumbnail handling done there
[16:34:39] iamlindoro: Which is now just handled in MNV with MDM
[16:36:11] ** Captain_Murdoch was just doing a search to see where mythhttppool was still being used to see what the effort was to get rid of it. **
[16:45:58] stuartm: ok, mythuifilebrowser is back at home in libmythui
[17:25:48] natanojl (natanojl! has joined #mythtv-theming
[20:22:00] natanojl (natanojl! has quit (Ping timeout: 260 seconds)
[20:39:35] natanojl (natanojl! has joined #mythtv-theming
[21:31:24] natanojl (natanojl! has quit (Read error: Connection timed out)

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