From de39e586ef997123a11d48c2ca82bcd8fef7f769 Mon Sep 17 00:00:00 2001 From: Josh Yelon Date: Tue, 21 Aug 2007 06:53:58 +0000 Subject: [PATCH] How did this get here? Whoops. --- panda/src/movies/ffmpegVirtualFileCursor.I | 17 -- panda/src/movies/ffmpegVirtualFileCursor.cxx | 155 ------------------- panda/src/movies/ffmpegVirtualFileCursor.h | 46 ------ panda/src/movies/movieVideoCursor.h | 2 +- 4 files changed, 1 insertion(+), 219 deletions(-) delete mode 100644 panda/src/movies/ffmpegVirtualFileCursor.I delete mode 100644 panda/src/movies/ffmpegVirtualFileCursor.cxx delete mode 100644 panda/src/movies/ffmpegVirtualFileCursor.h diff --git a/panda/src/movies/ffmpegVirtualFileCursor.I b/panda/src/movies/ffmpegVirtualFileCursor.I deleted file mode 100644 index 77f1b03103..0000000000 --- a/panda/src/movies/ffmpegVirtualFileCursor.I +++ /dev/null @@ -1,17 +0,0 @@ -// Filename: ffmpegVirtualFile.I -// Created by: jyelon (01Aug2007) -// -//////////////////////////////////////////////////////////////////// -// -// PANDA 3D SOFTWARE -// Copyright (c) 2001 - 2007, Disney Enterprises, Inc. All rights reserved -// -// All use of this software is subject to the terms of the Panda 3d -// Software license. You should have received a copy of this license -// along with this source code; you will also find a current copy of -// the license at http://etc.cmu.edu/panda3d/docs/license/ . -// -// To contact the maintainers of this program write to -// panda3d-general@lists.sourceforge.net . -// -//////////////////////////////////////////////////////////////////// diff --git a/panda/src/movies/ffmpegVirtualFileCursor.cxx b/panda/src/movies/ffmpegVirtualFileCursor.cxx deleted file mode 100644 index 228350e41b..0000000000 --- a/panda/src/movies/ffmpegVirtualFileCursor.cxx +++ /dev/null @@ -1,155 +0,0 @@ -// Filename: ffmpegVirtualFile.cxx -// Created by: jyelon (02Jul07) -// -//////////////////////////////////////////////////////////////////// -// -// PANDA 3D SOFTWARE -// Copyright (c) 2001 - 2007, Disney Enterprises, Inc. All rights reserved -// -// All use of this software is subject to the terms of the Panda 3d -// Software license. You should have received a copy of this license -// along with this source code; you will also find a current copy of -// the license at http://etc.cmu.edu/panda3d/docs/license/ . -// -// To contact the maintainers of this program write to -// panda3d-general@lists.sourceforge.net . -// -//////////////////////////////////////////////////////////////////// - -#ifdef HAVE_FFMPEG - -#include "pandabase.h" -#include "config_movies.h" -#include "ffmpegVirtualFile.h" -#include "virtualFileSystem.h" -#include "avio.h" - -//////////////////////////////////////////////////////////////////// -// These functions need to use C calling conventions. -//////////////////////////////////////////////////////////////////// -extern "C" { - static int pandavfs_open(URLContext *h, const char *filename, int flags); - static int pandavfs_read(URLContext *h, unsigned char *buf, int size); - static int pandavfs_write(URLContext *h, unsigned char *buf, int size); - static PN_int64 pandavfs_seek(URLContext *h, PN_int64 pos, int whence); - static int pandavfs_close(URLContext *h); -} - -//////////////////////////////////////////////////////////////////// -// Function: pandavfs_open -// Access: Static Function -// Description: A hook to open a panda VFS file. -//////////////////////////////////////////////////////////////////// -static int -pandavfs_open(URLContext *h, const char *filename, int flags) { - if (flags != 0) { - movies_cat.error() << "ffmpeg is trying to write to the VFS.\n"; - return -1; - } - filename += 9; // Skip over "pandavfs:" - VirtualFileSystem *vfs = VirtualFileSystem::get_global_ptr(); - istream *s = vfs->open_read_file(filename, true); - if (s == 0) { - return -1; - } - // Test whether seek works. - s->seekg(1, ios::beg); - int tel1 = s->tellg(); - s->seekg(0, ios::beg); - int tel2 = s->tellg(); - if (s->fail() || (tel1!=1) || (tel2!=0)) { - movies_cat.error() << "cannot play movie (not seekable): " << h->filename << "\n"; - delete s; - return -1; - } - h->priv_data = s; - return 0; -} - -//////////////////////////////////////////////////////////////////// -// Function: pandavfs_read -// Access: Static Function -// Description: A hook to read a panda VFS file. -//////////////////////////////////////////////////////////////////// -static int -pandavfs_read(URLContext *h, unsigned char *buf, int size) { - istream *s = (istream*)(h->priv_data); - s->read((char*)buf, size); - int gc = s->gcount(); - s->clear(); - return gc; -} - -//////////////////////////////////////////////////////////////////// -// Function: pandavfs_write -// Access: Static Function -// Description: A hook to write a panda VFS file. -//////////////////////////////////////////////////////////////////// -static int -pandavfs_write(URLContext *h, unsigned char *buf, int size) { - movies_cat.error() << "ffmpeg is trying to write to the VFS.\n"; - return -1; -} - -//////////////////////////////////////////////////////////////////// -// Function: pandavfs_seek -// Access: Static Function -// Description: A hook to seek a panda VFS file. -//////////////////////////////////////////////////////////////////// -static PN_int64 -pandavfs_seek(URLContext *h, PN_int64 pos, int whence) { - istream *s = (istream*)(h->priv_data); - switch(whence) { - case 0: s->seekg(pos, ios::beg); break; - case 1: s->seekg(pos, ios::cur); break; - case 2: s->seekg(pos, ios::end); break; - default: - movies_cat.error() << "Illegal parameter to seek in ffmpegVirtualFile\n"; - return -1; - } - s->clear(); - int tl = s->tellg(); - return tl; -} - -//////////////////////////////////////////////////////////////////// -// Function: pandavfs_close -// Access: Static Function -// Description: A hook to close a panda VFS file. -//////////////////////////////////////////////////////////////////// -static int -pandavfs_close(URLContext *h) { - istream *s = (istream*)(h->priv_data); - delete s; - h->priv_data = 0; - return 0; -} - -//////////////////////////////////////////////////////////////////// -// Function: FfmpegVirtualFile::register_protocol -// Access: Public, Static -// Description: Enables ffmpeg to access panda's VFS. -// -// After calling this method, ffmpeg will be -// able to open "URLs" that look like this: -// -// pandavfs:/c/mygame/foo.avi -// -//////////////////////////////////////////////////////////////////// -void FfmpegVirtualFile:: -register_protocol() { - static bool initialized = false; - if (initialized) { - return; - } - static URLProtocol protocol; - protocol.name = "pandavfs"; - protocol.url_open = pandavfs_open; - protocol.url_read = pandavfs_read; - protocol.url_write = pandavfs_write; - protocol.url_seek = pandavfs_seek; - protocol.url_close = pandavfs_close; - ::register_protocol(&protocol); -} - -#endif // HAVE_FFMPEG diff --git a/panda/src/movies/ffmpegVirtualFileCursor.h b/panda/src/movies/ffmpegVirtualFileCursor.h deleted file mode 100644 index cd8b12fb73..0000000000 --- a/panda/src/movies/ffmpegVirtualFileCursor.h +++ /dev/null @@ -1,46 +0,0 @@ -// Filename: ffmpegVirtualFile.h -// Created by: jyelon (01Aug2007) -// -//////////////////////////////////////////////////////////////////// -// -// PANDA 3D SOFTWARE -// Copyright (c) 2001 - 2007, Disney Enterprises, Inc. All rights reserved -// -// All use of this software is subject to the terms of the Panda 3d -// Software license. You should have received a copy of this license -// along with this source code; you will also find a current copy of -// the license at http://etc.cmu.edu/panda3d/docs/license/ . -// -// To contact the maintainers of this program write to -// panda3d-general@lists.sourceforge.net . -// -//////////////////////////////////////////////////////////////////// - -#ifndef FFMPEGVIRTUALFILE_H -#define FFMPEGVIRTUALFILE_H -#ifdef HAVE_FFMPEG - -#include "config_movies.h" - -//////////////////////////////////////////////////////////////////// -// Class : FfmpegVirtualFile -// Description : Enables ffmpeg to access panda's VFS. -// -// This class only has one public method, -// register_hooks. Once the hooks are registered, -// ffmpeg will be able to open "URLs" that look -// like this: -// -// pandavfs:/c/mygame/foo.avi -// -//////////////////////////////////////////////////////////////////// -class EXPCL_PANDA_MOVIES FfmpegVirtualFile { - public: - static void register_protocol(); -}; - -#include "ffmpegVirtualFile.I" - -#endif // HAVE_FFMPEG -#endif // FFMPEGVIRTUALFILE_H - diff --git a/panda/src/movies/movieVideoCursor.h b/panda/src/movies/movieVideoCursor.h index 12ea192cd5..af29ec5dd7 100644 --- a/panda/src/movies/movieVideoCursor.h +++ b/panda/src/movies/movieVideoCursor.h @@ -84,7 +84,7 @@ public: } static void init_type() { TypedWritableReferenceCount::init_type(); - register_type(_type_handle, "MovieVideo", + register_type(_type_handle, "MovieVideoCursor", TypedWritableReferenceCount::get_class_type()); } virtual TypeHandle get_type() const {