Wednesday, 2014-11-05

*** tpb has joined #timvideos00:00
shenkimithro: aps is00:13
mithroshenki: great!00:13
mithroGoogle is still offering the grant for GSoC students to attend conferences, which helps reduce the dependence on LA ponying up the money00:14
mithroshenki: I'm currently chatting with them to see if we could get slightly larger amount because of the international travel.00:15
shenkimithro: cool00:16
shenkimithro: good luck00:16
shenkimithro: i had a few discussions about the US-centric thinking they have00:17
shenkimithro: where they think that $1k is enough to get anywhere00:17
shenkimithro: because it only costs $1k to get to anywhere in America, right?00:17
mithroshenki: you mean $50000:18
shenkimithro: ah, this was in the context of gsoc reunion00:18
shenkimithro: but yeah00:18
shenkimithro: $500 was all i managed to get when going to cambridge00:20
mithroshenki: yeah, I doubt they'll do anything - but you never know00:20
shenkithat was lh bending the rules to make my summer of code in the US a 'conference' :)00:20
CarlFKmithro: on the gst-s gui there is the thumb and what do you call the large area?00:22
CarlFKcanvas comes to mind00:22
mithroCarlFK: dunno00:22
CarlFKk, canvas till someone comes up with better.  anyway...00:22
CarlFKthere is huge (like seconds) lag between the thumb and the canvas00:23
mithroCarlFK: can you capture a video?00:23
mithroCarlFK: can you also check your CPU usage?00:23
mithroCarlFK: the creation of the thumb images is very CPU intensive00:24
mithroCarlFK: can you tell if it's dropping frames?00:24
mithroCarlFK: btw - gst-switch is quite a bit more CPU intensive than dvswitch00:25
CarlFKdu no - I am using the bouncing ball test pattern.  it looks smooth, but it could be dropping every 10 frames and I wouldn't noticed00:25
CarlFKtop shows 22% cpu00:25
mithrookay, so that isn't the problem00:26
CarlFKload average: 2.20, 1.93, 1.2200:26
CarlFKits a 1 core box00:26
mithroCarlFK: how many cores?00:26
mithroYou really need  ~1 core per video stream00:26
CarlFKbut X is responsive - I can drag the window around no problem00:27
mithroCarlFK: well, create an issue on the issue tracker with as much information as you can00:28
mithroCarlFK: and I'll try and take a look at it00:28
CarlFK  can you look over those 2 commits00:29
tpbTitle: Commits · CarlFK/gst-switch · GitHub (at
mithroCarlFK: send a pull request and I'll comment on it there00:29
CarlFKmithro: gitub lumped them into one PR - do you want that or should I split them?00:31
mithroCarlFK: I'll tell you when I look at them00:32
mithroCarlFK: probably one PR is going to be okay00:32
*** tvCommitBot has joined #timvideos00:32
tvCommitBot[gst-switch] CarlFK opened pull request #29: minimal trusty build and demo (master...master)
*** tvCommitBot has left #timvideos00:32
CarlFKyou can see that the two balls are not even close to the same00:35
mithropuck: can you fill out ?00:38
tpbTitle: TimVideos Sprints before 2015 (at
mithroCarlFK: comments sent00:48
CarlFKmithro: whats with the sleeps causing fail? (guessing if it isn't long enough)00:51
mithroCarlFK: yeah00:51
CarlFKer, might not be long enough, then fail cuz it isn't ready00:51
mithroCarlFK: also you don't really get a useful messages about whats going on either00:52
CarlFKfor demo, I would say keep it dirt simple, so bash script with longer sleeps if needed00:52
CarlFKI may try using my dvs-mon thing.  the use case is about the same.. may just work00:52
mithroCarlFK: I want to demo to actually work, or tell you why it didn't work - but for now lets just merge your current script00:52
CarlFKwell.. ideally demos work :D00:54
mithroCarlFK: yeah, it's also a balance between simplicity and a good demo too00:54
CarlFKdvswitch is almost 10 year old, and there still isn't a good system for launching the bits00:55
mithroCarlFK: yes, I know this - your little Python GUI thing was kind of nice but annoying because it needs a GUI00:56
CarlFKI used to worry about that, now I just go with what seems to be good enough00:56
mithroCarlFK: yeah00:57
CarlFKI also think it is like a sql server - you get the server and a cli, but that does not give you a contact management app00:57
CarlFKchanges pushed - does that update my pull request?00:59
mithroCarlFK: yes, can you reply to the comments in the pull request?01:28
CarlFKmithro: I did, committed, pushed01:28
CarlFKer, I made the changes to the files (not reply)01:28
mithroCarlFK: can you reply to each comment with "Done" or "Did something else which is better"?01:38
mithroCarlFK: basic the process for pull requests normally is, 1) Send Pull request, 2) have it commented on, 3) push new commits, 4) reply to comments, 5) repeat steps 2->5 until it's merged.01:45
mithroCarlFK: generally the idea is to reply to each comment01:48
CarlFKit gets hard to follow what needs to be replied to01:54
CarlFKpersonally I think that was way more work than needed01:54
CarlFKI did figure out how to see that the canvas is way behind01:54
mithroCarlFK: it looks like you were trying to use email to do it?01:54
CarlFKgithub sends me email, I hit reply. pretty sure that attaches it back to the comment?01:55
CarlFK"Reply to this email directly or view it on GitHub."01:55
mithroCarlFK: yeah, it's much clearer on the web interface01:55
mithroCarlFK: btw, using correct punctuation in commit messages is a good idea01:56
*** tvCommitBot has joined #timvideos01:56
tvCommitBot[gst-switch] mithro closed pull request #29: minimal trusty build and demo (master...master)
*** tvCommitBot has left #timvideos01:56
CarlFKlook at the OS clock in the upper right - 57 sec, vs 52 (time coming from same box)01:57
CarlFKalso, the thumb image stopped showing up.  I have no idea why01:58
mithroCarlFK: how are you starting the connections?01:58
CarlFKhmm.. #ed out the 2nd source from run-demo, ran it.   killed the gst-launch-1.0 process.  been running variations of gst-launch-1.0 videotestsrc on the command line02:01
CarlFKkilled srv and ui, ./ and now I have a thumb02:04
mithrowhat is the gst-launch commands you are using?02:04
CarlFKgst-launch-1.0 videotestsrc pattern=smpte is-live=1 \02:04
CarlFK        ! clockoverlay time-format="%S" font-desc="Sans 240" \02:04
CarlFK        ! video/x-raw, width=300, height=200 \02:04
CarlFK        ! gdppay \02:04
CarlFK        ! tcpclientsink port=3000 \02:04
CarlFKk, looks like it doesn't like it when I kill gst-launch and run it again - I get the empty thumb02:05
CarlFKI think I can script this02:06
mithroCarlFK: I *think* you want a leaky queue before the gdppay - but this is where thaytan could help us with what is going on exactly :)02:08
CarlFKhuh, my script to demo the blank thumb doesn't, but it uncovered some other oddness02:17
CarlFKI think it is a side effect of the 5 second lag - I kill the source, then restart it, but the server is still running the old source for the 5 seconds02:20
CarlFKso it puts the new source in the 2nd slot02:20
CarlFKI have no idea what should be happening, so hard to file an issue02:21
mithroCarlFK: describe what you think should be happening and start from there02:22
CarlFKI expect the bug not to go away, and it isn't. so no problem02:25
*** 21WAAFN5M has quit IRC02:29
*** scrollback1 has joined #timvideos02:30
thaytanwhere does the server have 5 seconds worth of buffering?02:36
thaytanthat seems like a lot of HD video sitting in memory somewhere02:36
thaytanmithro, atm it looks like I'll be flying into Auckland in the afternoon of the 7th02:37
mithrothaytan: okay awesome02:37
thaytanbut I'll be with my Dad, so I'll be not-really-available-except-for-some-debugging-sessions02:37
mithrothaytan: hopefully nowhere02:37
thaytanThat is, I can probably do a couple of hours a day, but not full 8 hour sessions02:38
CarlFK  I can't reliably get the thumb to be white.  even reboot.. run script, sometimes it is blank, sometimes it has the image02:39
thaytanCarlFK, you mean you can't capture a frame from the video stream succesfully?02:42
mithroCarlFK: how often does it happen?02:42
CarlFKthaytan: no.  see the white thumb?02:42
mithroCarlFK: it's probably a good idea to have something to compare too :P02:43
thaytanCarlFK, what's supposed to be drawing the thumb image?02:43
CarlFKthaytan: it should be colored and have a 57 in it.02:43
CarlFKmithro: I have rebooted 3 or 4 times.  pretty sure I got the broken thumb (thats what I'll call it) the first time, but it has worked the other times02:45
mithroCarlFK: I mean screenshot wise02:45
CarlFKmithro: what about screenshot?02:46
mithroCarlFK: if you provide a screenshot of the working and the broken versions its easier for people to see what is going on02:46
CarlFKthaytan:  no idea - I haven't looked at the code02:47
CarlFK  thats shows the thumbs working02:48
*** flavioribeiro has quit IRC02:48
thaytanCarlFK, it looks like it is using a GstVideoOverlay into a drawing area02:52
thaytanthe most common problem there is usually a race between the xid being created vs when the pipeline needs an xwindow ID configured02:52
thaytanand/or running out of Xv ports, since it uses xvimagesink for each inpu02:53
CarlFKim guessing race, give I get different results across reboots02:53
CarlFKbut the 5 sec lag is a bigger issue02:54
thaytanthere's no queue in the receiver pipeline - I'm not sure where 5 seconds delay would happen02:55
thaytanunless it's in the TCP socket itself02:55
*** hyades has quit IRC02:55
thaytanbut then you'd expect that to disappear when the sender disappears02:56
mithrothere are a couple of locations that things could be being queued02:59
mithrolet me pull up a diagram02:59
tpb<> (at
*** hyades has joined #timvideos03:01
mithrothere could be a queue from the video acceptor to the preview socket (inside the server), or in the preview socket to the display (in the UI stuff)03:01
CarlFKif I start the ui 15 sec after the server, then the lag is 15 sec03:02
mithroCarlFK: sounds like there is a buffer/queue on the output of the server to the UI03:03
CarlFKmithro: except the thumb doesn't suffer03:03
mithroCarlFK: the thumb is running correctly?03:04
*** pi1 has joined #timvideos03:05
mithrothen the queue is between the composite and the UI03:07
thaytanmithro, there's no queue in the preview socket pipeline in git (tcpclientsrc ! gdpdepay ! videoconvert ! cairooverlay ! videoconvert ! xvimagesink)03:07
mithrothaytan: great!03:07
*** pederindi has quit IRC03:08
thaytanso must be in the server somewhere?03:08
thaytanbefore the compose/videomix, or else everything would be equally delayed03:08
mithrothaytan: everyone is equally delayed I think?03:11
mithroI thought it would be somewhere around
tpbTitle: gst-switch/gstswitchserver.c at master · timvideos/gst-switch · GitHub (at
mithrodoes tcpserversink have an internal queue or something?03:14
mithrohrm, it shouldn't matter because that pipeline is only created on a new connection?03:15
mithronope - that last comment was totally wrong03:16
thaytanmithro, lunch - bbiab03:23
mithroactually, I can test this03:23
mithrowhat is your test pipeline?03:23
CarlFKmithro: mine?03:30
mithroCarlFK: yeah the thing which does the numbers03:30
CarlFKdemo... gst-launch-1.0 videotestsrc pattern=smpte is-live=1 \03:31
CarlFK        ! clockoverlay time-format="%S" font-desc="Sans 240" \03:31
mithroCarlFK: thats not all of it?03:34
CarlFKmithro: add the clockoverlay line to run-demo.sh03:35
tpbTitle: Ubuntu Pastebin (at
*** pi1 is now known as pederindi03:39
mithroI'll be back in about an hour03:39
CarlFKk ill prollly be off to bed03:39
mithroback now04:50
mithrothaytan: any idea why displays the first frame and then stops for like 10 seconds before continuing?05:17
tpbTitle: Ubuntu Pastebin (at
thaytanmithro, hmm, no - not sure05:20
*** aps has quit IRC05:20
*** aps has joined #timvideos05:29
*** hyades_ has quit IRC05:33
mithrothaytan: it's almost like gdppay transfers the first buffer and then sits around for a while to get it's shit together or something?05:33
thaytan10 seconds is a long thumb-twiddle05:34
mithrothe freeze is equal to the time between starting the tcpserversink and the tcpserversrc command05:34
*** hyades_ has joined #timvideos05:35
thaytanah, so it's about segments05:35
mithrowhat are segments?05:35
thaytansegment events, describing what the timestamp range and playback offset should be05:36
mithrothaytan: do things need to be retimed or something?05:37
thaytanyeah, but I'm not sure that the current behaviour is optimal05:38
thaytanI can see why it does it05:39
thaytangdppay gets a segment event with start=0sec and sends it to gdpdepay05:39
thaytanbut tcpserversink drops the first n seconds of data, so gdpdepay never gets those05:39
thaytanwhich means gdpdepay generates a segment event with start=0sec, but a first buffer with time=n secs05:40
thaytanwhich is exactly how you describe a sequence that is 'this first buffer gets played after n secs'05:40
mithroafter n seconds it doesn't jump though, it just starts playing delayed...05:41
thaytanyes, that's right05:42
mithrothaytan: so what is the work around?05:42
thaytanas long as the delay is smaller than what can be buffered in tcpserversink/tcp socket and friends05:42
mithroso how do we make it buffer nothing?05:45
hyades_is the value of n same on both ends?05:46
thaytanmithro, not sure - it might be something to add to gdpdepay to adjust the segment05:47
thaytanhyades, the value of n is how many buffers tcpserversink discards before the client connects05:48
mithrothaytan: can we adjust the output of gdpdepay?05:48
thaytanmithro, with a pad probe or a custom element, yes05:48
mithrothaytan: no inbuilt "gst-plugin-futzer"05:49
mithrothaytan: actually, this kind of makes sense - there is a bunch of code in flumotion which fuzts with the gddepay stuff05:49
mithroI think...05:51
mithrothaytan: would this be the timestamp stuff?05:52
thaytanwhich timestamp stuff? (sounds likely, yes)05:52
tpbTitle: flumotion/ at 921550fa45ae42b2a9f51e4e522d5558fcc9a579 · timvideos/flumotion · GitHub (at
thaytanmithro, ah no - that will just make warnings about timestamp gaps in the input stream05:56
thaytanit won't modify any timestamps05:56
thaytanfor flumotion purposes it wants to keep the segments intact anyway05:56
thaytanbecause they keeps the synch between separately captured audio and video streams when muxing05:57
thaytanI need to think about it05:58
*** hyades has quit IRC06:00
*** hyades has joined #timvideos06:01
*** hyades_ has quit IRC06:01
*** hyades_ has joined #timvideos06:01
*** tija_ has joined #timvideos06:05
thaytanmithro, I think the adjustment has to be explicitly done06:06
thaytanbecause both audio and video need to move by the same amount, or else they'll get out of synch06:07
*** Niharika has joined #timvideos06:10
*** techdragon has quit IRC06:14
*** techdragon has joined #timvideos06:18
*** tvCommitBot has joined #timvideos06:18
tvCommitBot[streaming-system] aps-sids pushed 1 new commit to check-signal:
tvCommitBotstreaming-system/check-signal d12e063 Amanpreet Singh: Use HEAD request instead of GET06:18
*** tvCommitBot has left #timvideos06:18
*** hyades is now known as hyades__06:22
*** hyades_ is now known as hyades06:22
mithroshenki: ping?07:18
mithrohyades__: ping?07:22
hyadesmithro: pong07:24
mithrohyades: so you saw that ere are more comments on that pull request right?07:25
hyadesa min07:26
*** slomo has joined #timvideos07:26
*** slomo has joined #timvideos07:26
hyadestravis not building is hugely because of the pylint errors07:27
hyadesevery time a new update to pylint comes in, the make lint breaks07:28
mithroso, looking at
tpbTitle: Updated Readme, fixes by hyades · Pull Request #26 · timvideos/gst-switch · GitHub (at
mithroeach place I've commented on, you should reply to the comment with if you have fixed the issue or not07:29
hyadesmithro: I will make the build succeed on travis and come back07:30
mithrohyades: I said07:31
mithroLooks like its also broken on head, so I'm happy to merge before fixing that.07:31
mithrohyades: but there is a bunch of other small things which need to be fixed07:31
mithrohyades: should take you like 5 minutes to fix them, and then I'll do the merge07:32
*** flavioribeiro has joined #timvideos08:03
hyadesmithro: probably two things are left - the checkouts and the pylint issues08:15
hyadesmithro: correct me if I missed anything08:15
mithrohyades: are you looking at the web interface?08:16
hyadesmithro: yup, what should i be looking at?08:18
mithrohyades: hrm, it looks github didn't email me when you added those last two comments08:28
mithrohyades: you should also start sentences with capital letters08:29
mithrospecially in comment messages08:29
mithrohyades: okay it looks good to merge I think08:30
mithrothaytan: why can't a leaky queue be good enough?08:30
*** tvCommitBot has joined #timvideos08:30
tvCommitBot[gst-switch] mithro pushed 19 new commits to master:
tvCommitBotgst-switch/master 18caf85 Aayush Ahuja: Update .travis-setup.sh08:30
tvCommitBotgst-switch/master bdf23c6 Aayush Ahuja: Update [ci skip]08:30
tvCommitBotgst-switch/master a7a707d hyades: Merge remote-tracking branch 'upstream/master'...08:31
*** tvCommitBot has left #timvideos08:31
hyadesmithro: yea there is a possible problem with the github. It was sending me emails for your comments the entire night08:34
*** Niharika has quit IRC08:37
*** hyades__ has quit IRC08:59
*** aps has quit IRC08:59
*** hyades_ has joined #timvideos09:16
*** aps has joined #timvideos09:19
thaytanmithro, for the tcpserversink case, you don't need a leaky queue - tcpserversink should drop packets according to its soft limits already11:16
*** slomo has quit IRC11:16
thaytanit might be sufficient to use sync=false on the receiver and just display packets as they arrive from the network11:17
*** slomo has joined #timvideos11:17
thaytanyou might get a bit more display jitter, but that's fine for the preview thumbnail11:17
*** flavioribeiro has quit IRC11:19
mithrowhat do I put the sync=false on?11:25
thaytanmithro, xvimagesink11:35
*** chinmaygupta28 has joined #timvideos12:02
*** chinmaygupta28 has quit IRC12:17
CarlFKgood morning folks12:53
CarlFK .. change 300x200 to        ! video/x-raw, width=740, height=480 \12:57
*** tija_ has quit IRC13:01
tpbTitle: 740x480 causes broken video · Issue #32 · timvideos/gst-switch · GitHub (at
*** flavioribeiro has joined #timvideos13:01
hyadesCarlFK: probably its built like this13:12
tpbTitle: gst-switch/gstcomposite.h at master · timvideos/gst-switch · GitHub (at
tpbTitle: gst-switch/logutils.h at master · timvideos/gst-switch · GitHub (at
CarlFKhyades this does't work either width=640, height=48013:30
CarlFKtrying 320x24013:30
thaytanhey CarlFK13:31
CarlFKhi thaytan13:31
hyadesCarlFK: not sure about that comment, but its defined here
tpbTitle: gst-switch/logutils.h at master · timvideos/gst-switch · GitHub (at
thaytanI was saying to mithro that for the preview thumbnails, it should just use xvimagesink sync=false on the receiver13:32
thaytansince it's being transmitted synched on the sender anyway and a little bit of tranmission jitter in the thumbnail won't matter13:32
thaytanthat makes the little sender/receiver test script work as expected13:33
*** palash123 has joined #timvideos13:33
CarlFKsender/receiver test script ?13:33
tpbTitle: Ubuntu Pastebin (at
CarlFKhyades - got it13:35
*** rohitksingh has joined #timvideos13:35
CarlFKthaytan: um, not sure what I should do with that.  hopefully mithro does13:37
thaytanCarlFK, nm then :)13:37
*** palash123 has quit IRC13:58
*** palash123 has joined #timvideos14:11
*** palash123 has quit IRC14:33
*** Niharika_ has joined #timvideos16:08
*** rohitksingh1 has joined #timvideos16:54
*** rohitksingh has quit IRC16:58
*** flavioribeiro has quit IRC17:08
*** hyades has quit IRC17:43
*** hyades has joined #timvideos18:09
*** slomo has quit IRC18:22
*** rohitksingh1 has quit IRC18:27
*** slomo has joined #timvideos18:54
*** slomo has joined #timvideos18:54
*** flavioribeiro has joined #timvideos19:01
*** flavioribeiro has quit IRC19:06
*** flavioribeiro has joined #timvideos19:10
*** Niharika_ has quit IRC19:14
*** Niharika_ has joined #timvideos19:17
*** CarlFK has quit IRC19:17
*** Niharika_ has quit IRC19:17
hyadeswhy is django debug True?
*** slomo has quit IRC19:45
*** flavioribeiro has quit IRC20:06
*** hyades has quit IRC23:03
*** flavioribeiro has joined #timvideos23:12
*** CarlFK has joined #timvideos23:21
*** ChanServ sets mode: +v CarlFK23:21

Generated by 2.13.1 by Marius Gedminas - find it at!