GNOME Bugzilla – Bug 331420
No PDF/PostScript/SVG encoder in GStreamer yet.
Last modified: 2009-07-17 11:44:37 UTC
CAIRO can render in PDF/PostScript/SVG/PNG format. Why not use that feature? We're linking against cairo anyways (gst-plugins-good/ext/cairo). Patch to follow.
Created attachment 59495 [details] gstcairorender.c
Created attachment 59496 [details] gstcairorender.h
Created attachment 59497 [details] [review] Patch to hook up gstcairorender.[c,h]
To test pdf/postscript/png/svg generation, do something like gst-launch filesrc location=test.png ! image/png ! cairorender format=application/x-pdf ! filesink location=test.pdf I don't understand why the filesrc doesn't do typefind and set the caps itself. But that's another problem. The format property needs to disappear. However, specifying the format between the cairorender and the filesink doesn't work: cairorender ! application/x-pdf ! filesrc I could not figure out how to access the desired caps from within the gstcairorender. Please let me know if you know how to implement above solution.
The reason why filesrc doesn't do the typefinding... is because it's not meant to :) Use the typefind element just after it.
Then I don't understand why I was requested to add typefind code to the bz2dec plugin which got recently added to gst-plugins-bad/ext/bz2?
Created attachment 67508 [details] [review] Patch to hook up gstcairorender.[c,h]
Created attachment 67509 [details] gstcairorender.h
Created attachment 67510 [details] gstcairorender.c I got it (loop/chain/typefind/negotiation...). I've updated new patches and files.
Created attachment 68010 [details] gstcairorender.c Updated patch. Can be tested with this pipeline: videotestsrc ! cairorender ! pngdec ! ffmpegcolorspace ! xvimagesink (i.e. cairorender acting like pngenc).
Created attachment 136054 [details] [review] Patch to hook up gstcairorender.[c,h]
Created attachment 136055 [details] gstcairorender.c
Created attachment 136056 [details] gstcairorender.h
I've committed your patch and now I'm fixing some bugs, do some cleanup and fix the FIXMEs you had :) Should be ready for 0.10.16.
This is committed now, please test my changes :)