13815 thomas 20 0 3813m 1.5g 13m S 6.3 40.4 632:22.30 pulseaudio
W. T. F.
W. T. F.
I’m in Cambridge (the UK one, not the US one) for the first ever GStreamer conference!
Years ago when I was in a cabin in the middle of the woods in Norway at four kilometers away from the closest main road and cut off by waistdeep snow, I never imagined that today I would be attending a conference dedicated to GStreamer with 150 people. 150 !
It seems the conference is a good mix between professionals and hobbyists. I’ve seen a few interesting applications built on top of GStreamer. Pretty cool stuff.
I took a quick look at the conference schedule and out of 19 talks, seven of them are from people that have been employed by the Fluendo group in the past, and for most of them it was their first full-time GStreamer job. It’s great to see these people branched out to other companies and taking GStreamer with them and higher up!
All in all, looks like the GStreamer community is in good shape. Next year, we’ll need two days…
While we’re at it, we should be handing out ’10 years of GStreamer badges’ to the people that have stuck by us so long :)
As mentioned before, I ended up getting a working pystack macro again for use in gdb. Someone commented I should make it public so here it is:
# in 2.6, PyEval_EvalFrame is only bw compatible, and code now calls
while 1 == 1
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
I also posted it in the upstream bug but I doubt that’s going to achieve much in this case…
Had a good time at the OpenVideo Conference in New York City, as well as today at (cut short for me) FOMS.
I took the Amtrak train from NYC to Boston and was looking forward to doing four hours of hacking, knocking up a quick prototype of doing chunked streaming of Ogg and WebM.
I didn’t actually get to that point however because my test stream triggered the streamer going lost, meaning that its main loop is stuck. So attaching gdb I was reminded how the ‘pystack’ macro in gdb (which was incredibly useful – it prints a python stack) hasn’t worked for me for the last couple of years.
And this time I set out to properly fix it. If only the docs on gdb were easy to understand. My knowledge of gdb doesn’t go much beyond the standard ‘thread apply all bt’ stuff and doing simple inspection. I ended up understanding why the macro hangs (it compares the value of $pc to known function names, and goes up the stack until it finds PyMain. In most of my cases there is no PyMain however, and when you go ‘up-silent’ in gdb at the top of the stack, it just silently fails leaving you at the same frame forever).
I don’t claim to understand exactly how gdb works; for example, there are cases where $pc stays the same going up a frame, seemingly because a function is wrapped into a macro which seems to get its own frame. So I ended up writing a loop that goes up until the $pc changes, and then go back down, leaving me at the frame that calls a python method with a code object.
So, now I have my pystack working again in the cases I tested, so that’s good.
Incidentally, if anyone knows gdb well enough, here are some questions:
After fixing that, I was again bitten by a bug where – not always, but often – a flow with Vorbis and Theora has a timestamp/duraiton discontinuity of 1 nanosecond. I can’t reproduce it on the command line with -launch, so I think it’s related to a set_base_time call on the pipeline.
So I started writing a unit test, but for some reason make check in gst-plugins-base doesn’t work for me because it can’t find capsfilter and other core elements. So I get to dive into the test setup code again to figure out why a registry is getting generated that blacklists coreelements…
The train pulled into Boston as I was looking into how the new registry code works and why it blacklists coreelements, so I’ll have to save this test for a later day…
Incidentally, I have a day off in Boston this week. I really want to finally go to MIT and follow a class there, in computer science or mathematics. Is that sort of thing open in the US ? Can you just sit in on a class ? Any tips ?
I’m talking about HTML5 live video, Flumotion, Theora and WebM today, a little after 11:45 local time (NYC, -4 GMT), which is around 17:45 and later for the folks back home, in the second room, in the Amphitheatre. Make sure you use a recent enough browser that supports either Theora or WebM, like Firefox 4 Beta!