Commit Graph

41 Commits

Author SHA1 Message Date
Robert Osfield
14a563dc9f Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Robert Osfield
2dbd24b52d From Martin von Gagern, "The xine osg plugin won't compile against xine-lib-1.2.0:
OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2772:25:
error: ?video_driver_class_t? has no member named ?get_identifier?
OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2773:25:
error: ?video_driver_class_t? has no member named ?get_description?

This has been reported on Gentoo: https://bugs.gentoo.org/397643
The relevant commit to the xine-lib repository is
http://anonscm.debian.org/hg/xine-lib/xine-lib-1.2/diff/806b590a4d38/src/xine-engine/video_out.h

This change addresses the issue. I'm sending the full modified file as
an attachment. It is based on the 3.0.1 release of OSG. I'll also paste
a diff below. You will find a colorized view in the Gentoo bugzilla.

The xine-lib API changed in the following way: the identifier and
description members are now "const char*" strings instead of "char*
(*)(video_driver_class_t*)" getter function. As the functions in the osg
plugin will always simply return a string literal, without accessing
their argument, it is safe to simply call them with a NULL argument and
use the returned string. This makes it easy to support both API
versions. When you drop support for older xine one day, you might want
to move the string literals to the assignment, getting rid of the
functions in the process.

The modified code compiles for me. I'm not sure how to test it, as I've
only got OSG around in order to build (and hopefully one day even use)
Flightgear.

I'm assigning my copyright in this change to the osg project leads.
"
2012-02-09 16:42:47 +00:00
Robert Osfield
6d66e1abaa Added support for using GL_UNPACK_ROW_LENGTH in conjunction with texture's + osg::Image via new RowLength
parameter in osg::Image.  To support this Image::setData(..) now has a new optional rowLength parameter which
defaults to 0, which provides the original behaviour, Image::setRowLength(int) and int Image::getRowLength() are also provided.

With the introduction of RowLength support in osg::Image it is now possible to create a sub image where
the t size of the image are smaller than the row length, useful for when you have a large image on the CPU
and which to use a small portion of it on the GPU.  However, when these sub images are created the data
within the image is no longer contiguous so data access can no longer assume that all the data is in
one block.  The new method Image::isDataContiguous() enables the user to check whether the data is contiguous,
and if not one can either access the data row by row using Image::data(column,row,image) accessor, or use the
new Image::DataIterator for stepping through each block on memory assocatied with the image.

To support the possibility of non contiguous osg::Image usage of image objects has had to be updated to
check DataContiguous and handle the case or use access via the DataIerator or by row by row.  To achieve
this a relatively large number of files has had to be modified, in particular the texture classes and
image plugins that doing writing.
2012-01-24 14:34:02 +00:00
Robert Osfield
5625c0cd8b Added m4v as a handled movie file extension 2011-03-23 14:01:58 +00:00
Robert Osfield
666f8edce0 Converted osg::notify to OSG_INFO etc. 2010-05-28 17:13:20 +00:00
Robert Osfield
dfda4ce35f Replaced afprintf usage with std::string to fix memory leak and improve portability of code. 2010-04-28 10:15:16 +00:00
Robert Osfield
010411e535 From David Callu, "I have a Segfault with xine plugin, when I load a video, then delete the XineStreamImage,
then reload a video and finally delete the second XineStreamImage.

In src/osgPlugins/xine/video_out_rgb.c, many code is ASM code, and 'clear()' function is one of them.
If OSG is compiled without the flag COMPILE_ASSEMBLY (default behaviours) the clear() function is an empty
function and allocated memory is never initialized to 0. So a structure which contain pointer haven't its pointer set to NULL.
And when we need to delete this pointer, all go bad.

I join the fixed file."
2009-11-20 11:46:20 +00:00
Robert Osfield
ee4e2afa76 From Philip Lowman, clean up of CMake files 2009-04-09 09:23:45 +00:00
Robert Osfield
2864a75ad2 Suppress gcc warnings emitted by external headers 2009-02-05 14:35:46 +00:00
Robert Osfield
6055dee411 Fixed warnings 2008-12-18 15:49:44 +00:00
Robert Osfield
d2e29efcd9 Added acceptance of .ogv extensions in xine-lib plugin 2008-09-02 16:13:54 +00:00
Robert Osfield
02b456bcfa Converted plugins to use the new supportsExtension()/supportsOptions/supportsProtocl() methods
to help enable better querying of supported features
2008-07-13 22:18:59 +00:00
Robert Osfield
2e2ddba49e Added support for setting volume in xine plugin, manual adjustment of volume
in osgmove example, and clamping to 0 to 1.0 range in quicktime plugin
2007-11-04 16:08:05 +00:00
Robert Osfield
57f961ff2e Added flv to the list of accepted movie types 2007-10-16 19:01:25 +00:00
Robert Osfield
9e2fe92ef1 From Rudolf Wiedemann, "I need to link OpenSceneGraph statically to my application, so I
completed the new registration of the plugin-readerwriters
("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example (see
attachment, based on today's svn)."
2007-07-06 13:54:26 +00:00
Robert Osfield
a7a0e2c4d3 Added Image::g/setOrigin to help movie plugins tell applications that the imagery
is not the usual OpenGL BOTTOM_LEFT orientation, but with the origin TOP_LEFT.  This
allows geometry setup code to flip the t tex coord to render the movie the correct way up.
2007-06-12 16:55:44 +00:00
Robert Osfield
0603483c1a Added first cut a Xine support 2007-05-04 19:17:49 +00:00
Robert Osfield
2e6ee4bb39 Removed old gmake and VisualStudio build files 2007-04-10 13:10:25 +00:00
Robert Osfield
f3715665c0 Added 21 as the version number of xine video plugin to allow it work with latest versions of xine. 2006-03-14 09:33:14 +00:00
Robert Osfield
8dc8dcb95f Added querry of video size during open() call and associated allocImage to
ensure that the imagestream passed back is of a valid size.
2005-09-12 19:42:36 +00:00
Robert Osfield
9eaaa55d05 converted hardware tabs to spaces. 2005-09-11 19:02:20 +00:00
Robert Osfield
f686395012 From Sonda Iverson, fix for repeated pause/unpause toggleing in Xine plugin 2005-09-11 19:00:57 +00:00
Robert Osfield
4745e2b79b Fix compile under x64_32. 2005-08-17 08:50:17 +00:00
Robert Osfield
b04e09c8b8 Disabled assembly code for x64_64 paths. 2005-08-17 07:27:51 +00:00
Robert Osfield
ba5f3ce99a Changed notice to be an info message 2005-07-03 19:58:21 +00:00
Robert Osfield
f609185e03 Updated wrappers. 2005-05-20 21:12:57 +00:00
Robert Osfield
968f54b5db From Ruben, fix for PIV executation by disabling MMXEXT selection. 2005-04-26 20:35:53 +00:00
Robert Osfield
b35ded6fb9 Improved handling of unsupported file formats. 2005-04-22 15:44:03 +00:00
Robert Osfield
483242c9db Cleaned up the xine plugin to better handle unsupported video files. 2005-04-22 13:32:46 +00:00
Robert Osfield
f4b864f37b Added looping 2005-03-07 11:58:41 +00:00
Robert Osfield
dd30c457bd Added checking for video file via normal file path checking and handling of
.xine extension as a special case for XINE style filenames.
2005-03-03 12:40:15 +00:00
Robert Osfield
79833fa704 Added pause, rewind and play support into xine plugin. 2005-02-24 17:07:37 +00:00
Robert Osfield
e2f6dc5bf4 Removed the default play() in the MPEG, QuickTime and Xine plugins, moving
it into the osgmovie application, and into readNodeFile method where
--movie is now available for detecting movie code.
2005-02-22 20:56:56 +00:00
Robert Osfield
912cb9386e Added usage of the new xine_register_plugins() call. 2005-02-13 16:35:52 +00:00
Robert Osfield
e5e2cf2d30 Created local XineImageStream class to ensure xine streams are cleaned up correctly. 2005-02-09 15:31:33 +00:00
Robert Osfield
c842dce38c Added setting of the filename 2005-02-09 14:27:54 +00:00
Robert Osfield
58120d0bc9 Added getenv OSG_XINE_AUDIO_DRIVER to xine plugin to allow users to
set what the default audio to use
2005-02-09 13:22:23 +00:00
Robert Osfield
021440b9a4 Commented out the debug messages, added back in the audio into the xine plugin 2005-02-09 12:29:09 +00:00
Robert Osfield
117c791a3b Added osg::BufferObject and a made a number associated to accomodate this
new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects.
Currently implementation is work in progress.
2005-02-09 10:39:45 +00:00
Robert Osfield
802940aec7 Temporarily added xine video_out_rgb xine-plugin inline to the OSG's xine plugin 2005-02-07 15:00:02 +00:00
Robert Osfield
3054a612bd Added prototype xine movie plugin. 2005-02-04 19:34:46 +00:00