mozilla :: #media

17 Mar 2017
00:00jyano need to read the values
00:00jyasee if it's any different
00:12jyamattwoodrow: ok, so it's same key (size 640x480, major_type (video) and pixel type yv12) both before and after stream_change
00:13jyaso can't assert on that one... good so i'm done
01:19geraldcpearce: Done. I need a holiday!
01:21geraldIn case you've missed the notification: You should have a pending r?cpearce from me, ta very much in advance ;-)
01:29cpearcegerald: thank you.
01:34kamidphishgerald: Do you have a holiday up coming?
01:37geraldkamidphish: No, but I wished, after reviewing 10,024 patches (+/- 10,000)
01:38kamidphishgerald: Do you get a boy scout badge?
01:40geraldkamidphish: I'd prefer cookies
01:40kamidphishgerald: When visiting websites, they're always trying to force cookies on me. Do you mean those ones?
01:41geraldHmmm soft gooey website cookies
02:16mattwoodrowjya: Whats the plan? Assert that if we do get one, its for the same values?
02:44cpearcegerald: sorry, I did indeed miss the re-review request. Done!
02:45geraldnw. Thanks!
04:00Basmattwoodrow: Yeah, there's a bunch of stuff not resolving for me.
04:00BasThat I have old symbols cached for.
04:00BasI bet MS forgot to upload again, they do that sometimes.
04:54jesupjib: pong
04:55jibjesup: hi, just wondered if you'll be uplifting bug 1337810
04:55firebothttps://bugzil.la/1337810 FIXED, rjesup@jesup.org Jitsi video freezes after a few minutes of conversation
04:55geraldkinetik: Thanks for the reviews so far. Not sure what you mean about "mCodecSpecificConfig", I admit I copied&pasted code without trying to understand that bit... I'll look for the bug you're talking about, but do you have more details in mind / at hand?
04:56kinetikgerald: oh, I thought you added the comment about it being b2g, is that from somewhere else?
04:57kinetikanyway, all my point was is: great if we can remove it, since we happened to confuse the two fields due to inverted naming inside the Rust mp4parse code
04:58geraldYes, it's from just below, in the forest of MOZ_DIAGNOSTIC_ASSERT's :-P
04:58jibjesup: no rush, just a merge conflict with bug 1343691 if we nominate for beta, so wondered whether to rebase on top of it or not
04:58firebothttps://bugzil.la/1343691 FIXED, na-g@nostrum.com RTCP stats missing in FF53 (fallout from webrtc.org 49 update)
04:58kinetikah, maybe alfredo added it when he fixed that bug then
04:58geraldkinetik: Ok I'll check with alfredo and open a separate bug for that if needed...
05:00jesupjib: yes, I'm planning to uplift it. small and safe
05:00jibjesup: great. agree
05:01jesupRyan pinged me today to ask if I was; just ran out of time earlier - I'll ask now
05:01kinetikgerald: is there a reason ResultAndCryptoFile is a pointer rather than a const reference?
05:01geraldalfredo: If you're around, we're talking about http://searchfox.org/mozilla-central/source/media/libstagefright/binding/MP4Metadata.cpp#377-379 . Do you think we should do something about that?
05:02jibjesup: good then we'll rebase on that
05:02jibng: ^
05:02ngjib: do we need to? I thought the issue was that it was already on top of it.
05:03geraldkinetik: It *was* because I'm storing it in a struct, I thought a reference would be weird... But not sure anymore. Please just add a comment, I can try to make it a reference again :-)
05:03jibfor the beta patch I mean
05:03jibbeta/aurora
05:03jibthose branches don't have it yet
05:04kinetikgerald: will do
05:04geraldta
05:04ngif 1337810 lands on aurora/beta then 1343691 should apply cleanly
05:06jibng: yes that's what I meant. I've marked one as blocking on the other to make that clear to the release team so they don't try to apply them separately
05:06jibs/separately/out of order/
05:07ngjib: ok greate
05:07nggreat
05:07* ng is still running a fever
05:19jesupjib - marked
05:20ngjesup: thanks!
05:20jibthanks!
05:21jibng: wait till tomorrow if you're not feeling well
05:21ngjib: no worries, just a bit foggy headed
05:22jibok
05:30ngjib: done
05:31jibcool thx
05:33ngcd ceph
05:33jib ng: note, bug causing regression would be bug 1250356
05:33firebothttps://bugzil.la/1250356 FIXED, rjesup@jesup.org Update WebRTC code to webrtc.org stable branch 49
05:33* ng types into the wrong window
05:35jibbut they should figure it out
05:35ngI added that in an additional comment
06:19jyamattwoodrow|away: just ignore it.
06:25alfredogerald: yes, I added the comment. mCodecSpecificConfig is added for b2g.
06:26geraldalfredo: So should we just remove it? You know better, so could you please open a bug for that?
06:27alfredogerald: hmm... why do ogg and theora decoder use it? http://searchfox.org/mozilla-central/source/dom/media/platforms/agnostic/TheoraDecoder.cpp#81
06:28alfredohttp://searchfox.org/mozilla-central/source/dom/media/platforms/agnostic/TheoraDecoder.cpp#81
06:28geraldIn which case the comment may be wrong?
06:28alfredoI don't think there is demuxer filling this field now.
06:31geraldalfredo: So could you please open a bug to investigate this (either the comment is incorrect, or the field could be removed). Thank you
06:31alfredogerald: Sure.
06:31gerald:-)
06:33bwujhlin: ping~
06:34jhlinbwu:pong
06:35bwujhlin: bug 1347439, bug/patchuplift 53
06:38jhlinbwu: only 1347439, for now.
06:42bwujhlin: Got it. Ta~
07:03alfredokinetik: urg... could you please give me r+ again? mozreview removes previous r+ when I push patch.
07:04* alfredo is wondering why mozreview do these things without asking?
07:21jw_wangalfredo: https://groups.google.com/forum/#!topic/mozilla.dev.platform/hp5_6OAKV_c
07:21jw_wangcommit policy changes
07:38jyajw_wang: they have implemented those changes even after so many people saying it was a bad idea?
07:42jyabwu: I forgot that I have a doctor appointment at 9AM, so I can't do our weekly 1:1. I hope it won't take too long so I can ping you whenever I'm back
07:46bwujya: ah. It's ok. I can pack my luggage and go to airport first. So ping me when you have time, I can talk in the airport.
07:47jyawhere you're going ?
07:47jyaoh shit, I'm going to be late now
08:48bwuI am going to NY and meet Anthony and Maire in Philly next week.
09:17jyabwu: I'm back
10:13bwujya: I'm back too.:-) Are you available to talk now?
10:26bwualwu: ping
10:27alwubwu : pong
10:29bwualwu: bug 1344661, RM cannot understand [Feature/Bug causing the regression]: Fix the potential crash. It seems to be confusing.
10:29firebothttps://bugzil.la/1344661 FIXED, alwu@mozilla.com Capture input sample for CheckForSPSChange()
10:30alwuit would cause the crash if the video changes its SPS during playing
10:30alwubut I didn't have seen the related crash report yet, because this case is rare
10:31bwualwu: would it be possible to find the bug which causes this regression?
10:31alwuyes
10:33alwuhttps://bugzilla.mozilla.org/show_bug.cgi?id=1336431
10:33firebotBug 1336431 FIXED, jyavenard@mozilla.com Invalid frame size being displayed when resolution is changing
10:38jyabwu: now I am. I got dell to come and replace the keyboard of the new laptop
10:39bwujya: cool. my room. Thanks
14:01padenotdminor, ping
14:21dminorpadenot: pong, sorry in meeting
14:22padenotdminor, do you know how to solve the following situation about crashtests
14:22padenotI have a test that needs a pref to be set to run properly, but it's a different pref in e10s and in non-e10s
14:23padenotI've been trying to solve this all this afternoon, I'm failing
14:24dminorpadenot: hmm, not sure off hand, I'll have a look.
14:24padenotit's unclear if it's possible
14:24padenotI've been reading the harness code
14:24padenotbut it seem to have grown organically, to be polite
14:25dminorpadenot: yeah :)
14:27dminorpadenot: have you asked in #ateam? I'm not very familiar with reftests/crashtests to be honest.
14:27padenotI have not
14:27padenotjoining now
14:27dminorI'll follow along there
14:33padenotcrickets
14:35dminorpadenot: yeah. I think the person to ask is ahal, but it doesn't appear he's around today.
14:36padenotthis will wait until next week then
14:36padenotdminor, thanks anyways :-)
14:36dminorpadenot: np
14:37dminorthere are surprisingly few people on the ateam that work on actual test harnesses as opposed to treeherder/bugzilla/mozreview/etc.
15:14bencpadenot: the current nightly will let me activate audio logging or do I still need the version from your url?
15:19padenotbenc, today's nightly will have the patch for sure
15:19padenotbenc, let us know if you're having trouble, we're currently trying to sort out this logging situation, but we're not there yet
15:20padenotany issues about logging you can give us is valuable so we can make it easier for people that are not that technical
15:56jyajw_wang:
15:56jyaYour add-on, about:media 3.0, has been approved and is now available for download in our gallery at https://addons.mozilla.org/addon/about-media/
15:56jyaOnly took 3 months.
16:01benc1padenot: can I download from here? https://www.mozilla.org/en-US/firefox/channel/desktop/
16:02benc1or do I need to wait for the next nightly version?
16:02padenotbenc1, https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly, specifically
16:02benc1thanks
16:04benc1padenot: requires installation? I thought it's a portable version
16:04benc1but it's exe
16:05padenotbenc1, I can also guide you to a portable version, that's our official nightly builds that auto-update and all
16:05benc1yes please. where is the portable version?
16:05benc1https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
16:05benc1here?
16:06padenotyep
16:06benc1https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-55.0a1.en-US.win64.zip
16:06padenothttps://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-55.0a1.en-US.win32.zip for example
16:06benc1cool. thanks
16:06padenotyeah, 64 or 32, you pick the one you want
16:12benc1padenot: can't run side by side with firefox stable?
16:12benc1the portable version
16:12padenotbenc1, yeah, no issue, you can decide to use separate profile to use it, but it's not required
16:12padenotrun it with -ProfileManager
16:12benc1thanks
16:13xiphmont'morning
16:37benc1padenot: I'm getting three log files
16:37padenotsounds about right
16:37benc1or maybe two - main/child
16:37padenotchild is the one you want
16:37padenotfor this
16:37benc1the child has lines like
16:37benc1[Unnamed thread 000000000939DC00]: E/cubeb c:/builds/moz2_slave/m-cen-w64-ntly-000000000000000/build/src/media/libcubeb/src/cubeb_log.cpp:80: Duplex callback: input frames: 441, output frames: 480
16:37padenotyep that's good
16:37benc1does this have the input device clock?
16:37benc1to see if the problem is because of bad clock
16:37padenotindirectly
16:38padenotwe re-synthetize the clock by integrating over the input sample count
16:38benc1ok
16:38benc1I'll get the log with the adapter next week
16:38benc1thanks
16:39padenotbut if the input is doing crazy things, other log messages will be printed
16:39padenotI assume it was not the case here
16:39benc1this is just a standard webcam I have at home
16:40benc1I need the log from the HDMI camera and HDMI2USB adapter
17:03padenotok
17:07bencff 52 is supposed to support video fec?
17:07benchttps://bugzilla.mozilla.org/show_bug.cgi?id=1275360
17:07firebotBug 1275360 FIXED, mfroman@nostrum.com Add sdp for video FEC
17:07bencI don't see video fec in the sdp in apprtc
17:25padenotmreavy, jesup, 1348344
17:25padenotbug 1348344, that is
17:25firebothttps://bugzil.la/1348344 NEW, nobody@mozilla.org Add some code to debug the drift on OSX when aggregate device is not enable
17:28* padenot goes in weekend
17:37drno|irccloudbenc: it is still behind a user pref
17:37drno|irccloudbenc: so it is not turned on by default yet
17:37bencdrno|irccloud: thanks
17:38drno|irccloudhas anyone else problems connecting to irc.mozilla.org?
17:50ng_macdrno|irccloud: I seem to be able to connect without issue
17:51drno|irccloudmy colloquy appears to time out :(
17:51drno|irccloudmaybe time to look for a new IRC client
17:52ngit is always time to look for a new irc client
17:52drno|irccloudthat is one of the bad signs for IRC
18:32jesupchatzilla should be good enough for anyone! :-)
18:45mreavydminor: ping
18:46mreavybaku: ping
18:47dminormreavy: pong
18:47bakumreavy: pong
18:48mreavydminor: baku: There's a question about using WebAudio on the output of a peerconnection; the developer is trying to monitor audio levels and is geting domain cross-origin errors
18:49bakumreavy: bug ID ?
18:49mreavyI know this used to work
18:49mreavybaku: they haven't filed yet; I can forward the email
18:50bakumreavy: ok. perfect. I'll take a look.
18:50mreavythis is from an important partner. the email is short, but you could ask for more details
18:51bakumreavy: good. is it easy to reproduce?
18:52mreavybaku: apparently happens all the time
18:54mreavybaku: sent
18:54bakumreavy: better if it's always reproducible :). I'll take a look tomorrow or on monday.
18:54mreavythanks!
19:25jibdrno: ping
19:26drnojib: pong
21:46benc1there is no a/v sync for multistream?
21:46benc1https://bugzilla.mozilla.org/show_bug.cgi?id=1176560
21:46firebotBug 1176560 NEW, nobody@mozilla.org Support A/V sync (lip-sync) for multistream
21:46benc1https://bugzilla.mozilla.org/show_bug.cgi?id=1188436
21:46firebotBug 1188436 NEW, nobody@mozilla.org Investigate A/V sync telemetry values, especially video-lags-audio
22:18sheppyjib: I'm not having any luck with any of the DTMF fiddles you shared with me. None of them seem to even establish a functioning peerconnection.
22:18sheppyThey never even get to the point of attempting to send the DTMF.
22:28jibsheppy: which fiddle are you having trouble with?
22:28sheppyjib: Several of them. This one for example: https://jsfiddle.net/jib1/99e3w0of/
22:29sheppyI've been playing with several of them and can't get any of them to reach the point of attempting to send DTMF.
22:29sheppythe ICE connection state never changes.
22:30jibsheppy: try this one http://jsfiddle.net/jib1/wg7yoq31/
22:30sheppyNo non-null candidates ever get to either of the icecandidate event handlers, either.
22:31sheppyjib: nope, nothing
22:31jibodd, that one works for me
22:32sheppythe audio element indicates it's playing but nothing more happens; I added a console.log output just above sender.dtmf.insertDTMF() is called and no output.
22:32jibin 52?
22:32sheppyThis is... 55. 2017-03-13
22:33jibOS?
22:33sheppyOS X. 10.12.4 beta
22:35sheppyHuh
22:35sheppyThis example is working: http://www.thegreatpotoo.com/webrtc-samples/src/content/peerconnection/dtmf/
22:36jibsheppy: and presumably https://webrtc.github.io/samples/src/content/peerconnection/dtmf/
22:37abrjib youre back!
22:37sheppyyeah
22:37abrHi.
22:37abrYou know WebIDL, right?
22:37jibabr: Hi! sure, at least I think so
22:38abrjib: Okay, so we have payment information that were trying to pass using a structure like this: https://w3c.github.io/webpayments-payment-apps-api/#sec-app-request
22:38abrjib: And we want to sent it as an attribute of an event.
22:38abrBut you cant use a dictionary as an attribute
22:39abrAnd we cant change it to an interface, because interface attributes cant contain sequences.
22:39abrjib: So I dont know how to fix this to be compliant.
22:39abrjib: Ideas?
22:40jibhmm
22:41jibabr: can you use FrozenArray maybe?
22:41abrOoh, interesting. Ill see if I can figure that out.
22:41abrThanks!
22:43jibabr: Like this: https://dxr.mozilla.org/mozilla-central/source/dom/webidl/SubtleCrypto.webidl?q=file%3ASubtleCrypto.webidl&redirect_type=single#159
22:43abrjib: That looks peculiar to our compiler. Im writing spec text; I think it needs to be FrozenArray<PaymentMethodData>
22:44jib[Cached, Constant, Frozen] is the gecko equivalent atm. Wer haven&#39;t implemented FrozenArray in ourt webidl compiler yet - bug 1236777
22:44abrWell, at least respec will parse it. :)
22:44firebothttps://bugzil.la/1236777 NEW, nobody@mozilla.org Implement FrozenArray in webidl
22:44abrOkay, cool. Thanks; this was very helpful.
22:45jibgreat, let me know if you have trouble with it. Still looking for a better example
22:46jibhttps://w3c.github.io/webcrypto/Overview.html#dfn-CryptoKey-usages is useless
22:46jibHere we go: https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-defaulticeservers
22:46jibequals
22:47jibhmm we don&#39;t implement that yet
22:47jibHere we go: https://w3c.github.io/webrtc-pc/#dom-rtccertificate-fingerprints
22:48jibequals
22:48jibugh
22:48* jib swears we implemented a FrozenArray somewhere, but forgets
22:49abrjib: Thanks; I think I have it squared away now. Im just doing spec work at the moment; making it *work* is going to be Marcos problem. :)
22:49jibfound it: https://dxr.mozilla.org/mozilla-central/source/dom/webidl/RTCTrackEvent.webidl#22-26
22:50bencwhat is a &quot;padding packet&quot; ?
22:50jibhehe good
22:50jibit&#39;s in RTCTrackEvent, an event attribute even
22:50jibI knew it sounded familiar
22:51sheppyCommented out though
22:51sheppyBut at least it&#39;s there :)
22:51jib?
22:52jibsheppy: yeah but it shows the gecko equivalent syntax: [Frozen, Cached, Pure]
22:52sheppyNever mind, I see what you mean, yeah
22:52sheppyJust spotted it :)
22:52* sheppy goes back to puzzling over why this code works while that code doesn&#39;t, despite doing the same things.
22:53drnobenc: its basically an empty packet with lots of padding data in it
22:53drnobenc: chrome and some SFUs try to use padding packets to estimate the available bandwidth
22:53jibsheppy: http://jsfiddle.net/jib1/wg7yoq31/ wfm in NIghtly on OSX 10.12.3
22:54sheppyI&#39;m very confused.
22:54sheppyIt&#39;s a one-tab example, right?
22:54bencdrno: will I get padding packets with remb? (no simulcast)
22:55sheppyjib: also... how do you know it&#39;s working, since dtmf doesn&#39;t have any discernible effect? :)
22:55bencdrno: does it means that the padding bit in the rtp header will be set to 1?
22:55jibsheppy: you hear bop-beep-bip-bap-bop
22:55drnobenc: well padding can appear in any SRTP packet. so yes you can receive it at any time
22:56drnobenc: will Firefox send you SRTP packets with only/mostly padding in it? No
22:56sheppyjib: eh? I hear nothing :)
22:56jibsheppy: do you hear your mic?
22:56sheppyjib: no
22:56bencdrno: the padding bit in the rtp header will be 1?
22:56sheppyLike I said, the connection doesn&#39;t even start up successfully.
22:57jibsheppy: does this work? http://jsfiddle.net/jib1/aynr0k5q/
22:57drnobenc: I would assume yes. But that probably is also going to be 1 on any other SRTP packet with actual payload plus padding
22:57jibsheppy: make sure there&#39;s no crud at the start of the first line of thhe jsfiddle. sometimes that happens with Firefox
22:57bencdrno: in my test padding=0 in all packets chrome sends
22:58sheppynope, nothing there
22:58bencdrno: I&#39;m trying to see if I&#39;m affected by this issue
22:58benchttps://bugs.chromium.org/p/webrtc/issues/detail?id=7143
22:58benc&quot;Packet loss of a padding packet causes continual Nack requests&quot;
22:58drnobenc: where do you check for the padding bit?
22:58bencwhen decrypting srtp in MCU
22:58bencSFU
22:58bencserver :)
22:59bencversion:2bits, padding:1bit, extension_flag:1bit...
22:59sheppyhm
23:00sheppySo that one worked briefly then stalled... something odd is The Web Animations API is only enabled by default in Firefox Developer Edition and Nightly builds. You can enable it in beta and release builds by setting the preference dom.animations-api.core.enabled to true, and can disable it in any Firefox version by setting this preference to false..
23:00sheppyack
23:00bencdrno: ok, I&#39;m getting few padding packets when starting the video stream
23:00sheppyWhere&#39;d that paste come from?
23:01drnobenc: right that sounds like Chrome bandwidth testing
23:01sheppyGonna restart Firefox here. :)
23:01jibgood idea
23:02drnobenc: probably jesup knows more about this then me (^)
23:05jibsheppy: how about this one: http://jsfiddle.net/jib1/Laa1qbLm/
23:06sheppyjib: still waiting on the Firefox restart - it will take a while
23:06sheppyThese days a restart usually takes around 10-12 minutes for me :(
23:06jibhow long does it take to restart Firefox??
23:06jibwhaaa?
23:06sheppyBeen like this for years.
23:07jibDo you mean restart your computer?
23:07sheppyNo, just Firefox.
23:07jibthat&#39;s....
23:07jibinsane
23:07sheppyI&#39;ve done various procedures with devs and such and nobody can figure it out.
23:07jibsomething is wrong
23:07sheppyIt&#39;s addon related, but I have never been able to figure out a combination of addons that does it.
23:07jibmaybe time for a clean profile?
23:07sheppyAnd I rely too heavily on the ones I have left to drop any of them for any amount of time to speak of.
23:08sheppyThis is a new profile as of about two weeks ago.
23:08jibhow many tabs?
23:08sheppyLet&#39;s see... 22 windows, about 360 tabs or so.
23:09sheppyJust doing a shutdown of Firefox can take a good 10 minutes even.
23:09sheppyThe longer it&#39;s been running the longer it takes.
23:09drnosheppy: and it consumes crazy amount of memory and then sends out a crash report? :)
23:09jibOk I just quit 45 tabs, and it took 2 seconds
23:09sheppynope
23:09sheppyMemory use doesn&#39;t change appreciably, no crash report.
23:10sheppyJust.. takes a long time.
23:10jibsomething is seriously wrong
23:10sheppyI do also have an issue where sometimes when it crashes, it goes into an infinite recursion during the process of attempting to start up breakpad.
23:10drnosheppy: one of you add-ons submitting your whole browsing history on shutdown to some server somewhere? ;)
23:10sheppydrno: hehe :)
23:10jibhehe
23:10jibwireshark it
23:11bencdrno: my sfu always set padding=0
23:11benc I&#39;ll fix it now. not sure if might cause issues
23:11sheppyThe problem with debugging it is that after a restart, another restart is nice and fast. It takes time to build up the problem. Enough time that testing with some of my addons gone means going days without addons I rely on, which sucks too. :/
23:12* sheppy is still waiting
23:12* jib has gotta run bbl.
23:12* sheppy samples it to see if it&#39;s crashed into that infinite loop
23:12sheppyjib: later
23:12jibdtmf should jsut work
23:13drnosheppy: you did see the email regarding DTMF, right?
23:13drnoso these guys at least got it working :)
23:13sheppydrno: I saw it -- havent&#39; had a chance to read it yet. came in while I was out and I forgot about checking my mail when I got home :)
23:14sheppyWow... my nightly has dozens and dozens of threads named &quot;KeyPair Sign&quot;.
23:17drnobenc: according to this https://tools.ietf.org/html/rfc3711#section-3.1 padding is actually not that likely to occur I guess
23:18bencdrno: thanks
23:21drnosheppy: http://searchfox.org/mozilla-central/source/services/crypto/component/IdentityCryptoService.cpp#313 ? :)
23:25fippodrno: benc: chrome sends lots of padding an an attempt to ramp up bandwidth. there are packets which are all padding (~250 byteS)
23:29sheppydrno: just not used to there being that many :)
23:29drnosheppy: well I dont even get what that code is trying to do
23:32drnosheppy: BTW how do you check for the threads? Im assuming you are not running your browser in a debugger all the time
23:35sheppydrno: Activity Monitor. I run a sample of the Firefox process to get a list of threads and their stack traces.
23:35drnosheppy: ah okay :)
23:35* sheppy watches as tab after tab crashes.
23:35sheppyThis is part of my startup routine these days too. Tons of crashed tabs when I first start up. Dunno why.
23:39drnosheppy: intersting I have also quite a few of KeyPair Sign threads
23:39* sheppy still doesn&#39;t know what&#39;s going on, but that was a ton of threads. :)
23:40sheppygah
23:40sheppyMy finally restarted nightly just crashed outright
23:47sheppyI don&#39;t think I&#39;m getting any audio streams.
23:47sheppyTracks, I should say.
23:47sheppySomething&#39;s wrong, anyway... hm.
23:54* sheppy surrenders and calls it a week. A week full of disappointing results. :)
18 Mar 2017
No messages
   
Last message: 38 days and 5 hours ago