After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 506549 - fbdevsink patch
fbdevsink patch
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal enhancement
: 0.10.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-12-31 09:37 UTC by Sean D'Epagnier
Modified: 2008-05-16 22:25 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
patch to add fbdevsink (16.31 KB, patch)
2007-12-31 09:44 UTC, Sean D'Epagnier
needs-work Details | Review
updated patch, use patch -p1 (17.32 KB, patch)
2008-01-01 03:09 UTC, Sean D'Epagnier
committed Details | Review

Description Sean D'Epagnier 2007-12-31 09:37:31 UTC
added support for linux framebuffer video sink
Comment 1 Sean D'Epagnier 2007-12-31 09:44:43 UTC
Created attachment 101888 [details] [review]
patch to add fbdevsink
Comment 2 Sebastian Dröge (slomo) 2007-12-31 09:57:55 UTC
Generally looks good from a short look but why didn't you use GstVideoSink as base class? Would probably save you some lines of code :)
Comment 3 Sebastian Dröge (slomo) 2007-12-31 10:08:04 UTC
Also you should add the acceptable ranges of bpp, depth, etc to the pad template. And it might make sense to set the device field of the instance struct in the init method already to the default value.
Comment 4 Wim Taymans 2007-12-31 13:40:56 UTC
- extend GstVideoSink, this will set the default video properties correctly, like QoS and max-latency.

- use start()/stop() to open close the device. Make getcaps only return the device specific info when it's opened.

- be as specific as you can in the caps of the template, I think you can add some more properties.
Comment 5 Sean D'Epagnier 2008-01-01 03:09:47 UTC
Created attachment 101931 [details] [review]
updated patch, use patch -p1

I think I am extending from GstVideoSink now, I am new to gclass stuff so it is hard to tell.  Some of the other drivers use GstVideoSink and GstBaseSink similarly (ximagesink)

I am using start() and stop() for opening and closing now.  I return FALSE if there is an error with open, ioctl, or mmap.  I am not sure if this is correct handling or not, it seems to cause the pipeline to fail to pause.

I am more specific with the template of the caps now.  I specify
Comment 6 David Schleef 2008-01-06 22:04:45 UTC
Committed, with a few minor modifications.  Moved to sys/, added <stdint.h>, and changed a malloc/strcpy to g_strdup().
Comment 7 David Schleef 2008-01-06 23:01:17 UTC
Some comments:

* Please move declarations to the top of blocks.  It's the gstreamer style.

* Use the glib macros for endianness changing.

* Add a test for big endian, and a g_warning() asking the BE user to report feedback on whether it works or not.

* Please add checks for failed opens and mmaps in gst_fbdevsink_stop()