Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Friday, July 24, 2009

asfmux is now at gstreamer-plugins-bad

I just pushed asfmux plugin into gstreamer-plugins-bad. So, forget the old repository, the recent code will now be at -bad.

And it now has mp3, wmv3 and wma3 support!

Tuesday, June 23, 2009

ASF: we need a parser

While developing rtpasfpay I found out that I can't just do (in gst-launch syntax):

somesrc ! asfmux ! rtpasfpay ! udpsink

because the ASF headers need to be updated after the stream ends and those values are needed by rtpasfpay.

Additionally, I can't get an ASF from a file and feed it to rtpasfpay because the buffers would be unaligned with the ASF objects and packets, requiring rtpasfpay to parse the data before doing anything related to RTP. I'd say we need a parser.

The idea is to do all the parsing at the parser (obvious) and only some checks of conformance at the rtp payloader. As I had already started developing the payloader, I took it as farther as I could (without using a parser) and its current state is now at the repository. It is still unfinished (read: doesn't work).

The parser
Now I'm starting to develop the asfparse element. ASF files have 3 main parts: first there are headers, then the data (where the packets are) and lastly a series of indexes objects. The parser would, sequentially:
  1. Group all the headers into a single buffer and push it
  2. Push the "Data object" header (everything but the packets)
  3. Put each packet into a separate buffer and push them
  4. Put each of the indexes object into a separate buffer and push them
  5. EOS
The parser should work both in pull or push mode, I'll start with push mode.

Thursday, March 12, 2009

Happy new year!

This year had a slow start, but it seems that things are heating up.

1) I decided to be back on bikes (after 5 years), going twice a week for about 30km, starting at 5 AM. Surprisingly, I'm riding with the same group I used to and they remember me (I was 15 by that time!). Note: I need a new bike.

2) Google's Summer of Code is starting again this year and I'll try to participate again for GStreamer. From the tasklist, ASF muxing support and mpeg2ts interested me the most. But I'm open to suggestions.
Also, I've been asked to do a small presentation at the university to the Computer Science department (students and teachers) next wednesday. And I've already started reading ASF spec.

3) University classes are back (1 year to finish it!)

4) As my undergraduation is almost over, the amount of requests for small parallel projects has increased, which is good, most of them are simple web-based CRUD applications. They take little time and are a good source of money for a student.

Finally it is starting! Happy new year, everyone!