Index: branches/avi_play/src/lib/graphics/importer/media_container.cc
===================================================================
--- branches/avi_play/src/lib/graphics/importer/media_container.cc	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/media_container.cc	(revision 6339)
@@ -34,5 +34,8 @@
 MediaContainer::MediaContainer(const char* filename)
 {
-  this->init();
+  // set the class id for the base object
+  this->setClassID(CL_MEDIA_CONTAINER, "MediaContainer");
+
+  fps = 0;
 
   if (filename != NULL)
@@ -42,5 +45,8 @@
 MediaContainer::MediaContainer()
 {
-  this->init();
+  // set the class id for the base object
+  this->setClassID(CL_MEDIA_CONTAINER, "MediaContainer");
+
+  fps = 0;
 }
 
@@ -50,12 +56,6 @@
 MediaContainer::~MediaContainer()
 {
-  // delete all textures.
-  while(!this->texture_list.empty())
-  {
-    if (glIsTexture(this->texture_list.back()))
-      glDeleteTextures(1, &this->texture_list.back());
-    this->texture_list.pop_back();
-  }
-  glDeleteTextures(1, &texture);
+  if (glIsTexture(texture))
+    glDeleteTextures(1, &texture);
   SDL_FreeSurface(surface);
 
@@ -64,67 +64,96 @@
   av_free(RGB_frame);
 
-  /* Free the frame */
+  // Free the frame
   av_free(frame);
 
-  /* Close the codec */
+  // Close the codec
   avcodec_close(codec_context);
 
-  /* Close the video file */
+  // Close the video file
   av_close_input_file(format_context);
-
-}
-
-void MediaContainer::init()
-{
-  /* set the class id for the base object */
-  this->setClassID(CL_MEDIA_CONTAINER, "MediaContainer");
-
-  /* register all formats and codecs */
+}
+
+void MediaContainer::loadMedia(const char* filename)
+{
+  // register all formats and codecs
   av_register_all();
 
-  fps = 0;
-  frame_num = 0;
-}
-
-void MediaContainer::gotoFrame(int frame_number)
-{
-  // seek doesnt work for the first two frames
-  // you will get ugly fragments
-  if(frame_number < 2)
+  // Open video file
+  if (av_open_input_file(&format_context, filename, NULL, 0, NULL) !=0 )
+    PRINTF(1)("Could not open %s\n", filename);
+
+  // Retrieve stream information
+  if (av_find_stream_info(format_context) < 0)
+    PRINTF(1)("Could not find stream information in %s\n", filename);
+
+  // Find the first video stream and take it
+  video_stream = -1;
+  for(int i = 0; i < format_context->nb_streams; i++)
   {
-    // go to the begin of the video
-    av_seek_frame(format_context, video_stream, 0, AVSEEK_FLAG_BACKWARD);
-    frame_num = 0;
+    // NOTE: different code for the 0.4.9-pre1 release of ffmpeg (tardis)
+    // if(format_context->streams[i]->codec.codec_type == CODEC_TYPE_VIDEO)
+    if(format_context->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO)
+    {
+      video_stream = i;
+      break;
+    }
   }
-  else
-  {
-    // seeks to the nearest keyframe
-    // NOTE: there is only about every 5s a keyframe!
-    av_seek_frame(format_context, video_stream, frame_number, AVSEEK_FLAG_BACKWARD);
-    
-    // go from the keyframe to the exact position
-    codec_context->hurry_up = 1;
-    do {
-      av_read_frame(format_context, &packet);
-      if(packet.pts >= frame_number-1)
-        break;
-      int frame_finished;
-      avcodec_decode_video(codec_context, frame, &frame_finished, packet.data, packet.size);
-      av_free_packet(&packet);
-    } while(1);
-    codec_context->hurry_up = 0;
-  
-    frame_num = frame_number;
-  }
-}
+
+  if(video_stream == -1)
+    PRINTF(1)("Could not find a video stream in %s\n", filename);
+
+  // Get a pointer to the codec context for the video stream
+  // NOTE: different code for the 0.4.9-pre1 release of ffmpeg (tardis)
+  // codec_context = &format_context->streams[video_stream]->codec;
+  codec_context = format_context->streams[video_stream]->codec;
+
+  // Find the decoder for the video stream
+  codec = avcodec_find_decoder(codec_context->codec_id);
+  if (codec == NULL)
+    PRINTF(1)("Could not find codec\n");
+
+  // Open codec
+  if (avcodec_open(codec_context, codec) < 0)
+    PRINTF(1)("Could not open codec\n");
+
+  // Allocate video frame
+  frame = avcodec_alloc_frame();
+  RGB_frame = avcodec_alloc_frame();
+
+  // Determine required buffer size and allocate buffer
+  num_bytes = avpicture_get_size(PIX_FMT_RGB24, codec_context->width, codec_context->height);
+  buffer=new uint8_t[num_bytes];
+
+  // Assign appropriate parts of buffer to image planes in pFrameRGB
+  avpicture_fill((AVPicture *)RGB_frame, buffer, PIX_FMT_RGB24, codec_context->width, codec_context->height);
+
+  // Calculate fps
+  fps = av_q2d(format_context->streams[video_stream]->r_frame_rate);
+
+  // read the frames and save them in a sequence as textures
+  this->loadFrames();
+}
+
+double MediaContainer::getFPS()
+{
+  return this->fps;
+}
+
+void MediaContainer::loadFrames()
+{
+  // go to the begin of the video
+  av_seek_frame(format_context, video_stream, 0, AVSEEK_FLAG_BACKWARD);
+
+  // get all the frames and save them in the sequence
+  while(this->addFrame(this->getNextFrame()) != NULL);
+}
+
 
 GLuint MediaContainer::getNextFrame()
 {
-  /* get next frame */
+  // get next frame
   if(av_read_frame(format_context, &packet) >= 0)
   {
-    //this->printPacketInformation();
-
-    /* Is this a packet from the video stream? */
+    // Is this a packet from the video stream?
     if(packet.stream_index == video_stream)
     {
@@ -140,6 +169,4 @@
       if(frame_finished)
       {
-        frame_num++;
-        //PRINTF(1)("frame_number: %i\n", this->getFrameNumber());
         // Conversion from YUV to RGB
         // Most codecs return images in YUV 420 format
@@ -149,17 +176,16 @@
                     codec_context->pix_fmt, codec_context->width, codec_context->height);
 
-        picture = (AVPicture*)RGB_frame;
-
-
         data = 0;
         data = new uint8_t[codec_context->width*codec_context->height*3*sizeof(uint8_t)];
         for(int i = 0; i < codec_context->height; i++)
-          memcpy(&data[i*codec_context->width*3], picture->data[0]+i *
-                 picture->linesize[0],codec_context->width*sizeof(uint8_t)*3);
+          memcpy(&data[i*codec_context->width*3],
+                 ((AVPicture*)RGB_frame)->data[0]+i *
+                 ((AVPicture*)RGB_frame)->linesize[0], 
+                  codec_context->width*sizeof(uint8_t)*3);
 
         surface = SDL_CreateRGBSurfaceFrom(data, codec_context->width,
                                            codec_context->height,24,
                                            codec_context->width*sizeof(uint8_t)*3,
-#if SDL_BYTEORDER == SDL_LIL_ENDIAN /* OpenGL RGBA masks */
+#if SDL_BYTEORDER == SDL_LIL_ENDIAN // OpenGL RGBA masks
                                            0x000000FF,
                                            0x0000FF00,
@@ -174,52 +200,34 @@
                                             );
 
-        if(frame_num == 1)
-        {
-          /* Create an OpenGL texture from the surface */
-          glGenTextures(1, &texture);
-          glBindTexture(GL_TEXTURE_2D, texture);
-          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-          // create the texture
-          glTexImage2D(GL_TEXTURE_2D,
-                      0,
-                      GL_RGB,
-                      surface->w, surface->h,
-                      0,
-                      GL_RGB,
-                      GL_UNSIGNED_BYTE,
-                      surface->pixels);
-          // build the MipMaps
-          gluBuild2DMipmaps(GL_TEXTURE_2D,
-                          GL_RGB,
-                          surface->w,
-                          surface->h,
-                          GL_RGB,
-                          GL_UNSIGNED_BYTE,
-                          surface->pixels);
-          glBindTexture(GL_TEXTURE_2D, 0);
-        }
-        else
-        {
-          /* Create an OpenGL texture from the surface */
-          glGenTextures(1, &texture);
-          glBindTexture(GL_TEXTURE_2D, texture);
-          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-          // update the texture
-          glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, surface->w, surface->h, GL_RGB, GL_UNSIGNED_BYTE, surface->pixels);
-
-          // build the MipMaps
-          gluBuild2DMipmaps(GL_TEXTURE_2D,
-                          GL_RGB,
-                          surface->w,
-                          surface->h,
-                          GL_RGB,
-                          GL_UNSIGNED_BYTE,
-                          surface->pixels);
-          glBindTexture(GL_TEXTURE_2D, 0);
-        }
-
+        // Create an OpenGL texture from the surface
+        glGenTextures(1, &texture);
+        glBindTexture(GL_TEXTURE_2D, texture);
+        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+        // create the texture
+        glTexImage2D(GL_TEXTURE_2D,
+                    0,
+                    GL_RGB,
+                    surface->w, surface->h,
+                    0,
+                    GL_RGB,
+                    GL_UNSIGNED_BYTE,
+                    surface->pixels);
+        // build the MipMaps
+        gluBuild2DMipmaps(GL_TEXTURE_2D,
+                        GL_RGB,
+                        surface->w,
+                        surface->h,
+                        GL_RGB,
+                        GL_UNSIGNED_BYTE,
+                        surface->pixels);
+        glBindTexture(GL_TEXTURE_2D, 0);
+        
         return texture;
+      }
+      else
+      {
+        av_free_packet(&packet);
+        this->getNextFrame();
       }
     }
@@ -233,190 +241,2 @@
     return NULL;
 }
-
-GLuint MediaContainer::skipFrame(int num_frames)
-{
-  frame_num += num_frames;
-  
-  while(num_frames != 0)
-  {
-    if(av_read_frame(format_context, &packet) < 0)
-      break;
-    if(packet.stream_index == video_stream)
-    {
-      int frame_finished;
-      // We have to decode the frame to not get ugly fragments
-      avcodec_decode_video(codec_context, frame, &frame_finished,
-                            packet.data, packet.size);
-        
-      // Did we get a video frame?
-      if(frame_finished)
-        num_frames--;
-    }
-    av_free_packet(&packet);
-  }
-  
-  return this->getNextFrame();
-}
-
-vector<GLuint> MediaContainer::getFrameList()
-{
-
-  while((texture = this->getNextFrame()) != NULL)
-    texture_list.push_back(texture);
-
-  return texture_list;
-}
-
-void MediaContainer::saveCurrentFrame()
-{
-  FILE *file;
-  char filename[32];
-  int  y;
-
-  // Open file
-  sprintf(filename, "frame%i.ppm", frame_num);
-  file = fopen(filename, "wb");
-  if(file == NULL)
-        return;
-
-  // Write header
-  fprintf(file, "P6\n%d %d\n255\n", codec_context->width, codec_context->height);
-  // Write pixel data
-  for(y = 0; y < codec_context->height; y++)
-    fwrite(picture->data[0]+y * picture->linesize[0], 1, codec_context->width*3, file);
-  // Close file
-  fclose(file);
-
-  PRINTF(1)("created file: %s\n", filename);
-}
-
-void MediaContainer::loadMedia(const char* filename)
-{
-  /* Open video file */
-  if (av_open_input_file(&format_context, filename, NULL, 0, NULL) !=0 )
-    PRINTF(1)("Could not open %s\n", filename);
-
-  /* Retrieve stream information */
-  if (av_find_stream_info(format_context) < 0)
-    PRINTF(1)("Could not find stream information in %s\n", filename);
-
-  // Dump information about file onto standard error
-  //dump_format(pFormatCtx, 0, argv[1], false);
-
-  /* Find the first video stream and take it */
-  video_stream = -1;
-  for(int i = 0; i < format_context->nb_streams; i++)
-  {
-    // NOTE: different code for the 0.4.9-pre1 release of ffmpeg (tardis)
-    // if(format_context->streams[i]->codec.codec_type == CODEC_TYPE_VIDEO)
-    if(format_context->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO)
-    {
-      video_stream = i;
-      break;
-    }
-  }
-
-  if(video_stream == -1)
-    PRINTF(1)("Could not find a video stream in %s\n", filename);
-
-  /* Get a pointer to the codec context for the video stream */
-  // NOTE: different code for the 0.4.9-pre1 release of ffmpeg (tardis)
-  // codec_context = &format_context->streams[video_stream]->codec;
-  codec_context = format_context->streams[video_stream]->codec;
-
-  /* Find the decoder for the video stream */
-  codec = avcodec_find_decoder(codec_context->codec_id);
-  if (codec == NULL)
-    PRINTF(1)("Could not find codec\n");
-
-  /* Open codec */
-  if (avcodec_open(codec_context, codec) < 0)
-    PRINTF(1)("Could not open codec\n");
-
-  // Allocate video frame
-  frame = avcodec_alloc_frame();
-  RGB_frame = avcodec_alloc_frame();
-
-  // Determine required buffer size and allocate buffer
-  num_bytes = avpicture_get_size(PIX_FMT_RGB24, codec_context->width, codec_context->height);
-  buffer=new uint8_t[num_bytes];
-
-  // Assign appropriate parts of buffer to image planes in pFrameRGB
-  avpicture_fill((AVPicture *)RGB_frame, buffer, PIX_FMT_RGB24, codec_context->width, codec_context->height);
-
-  // Calculate fps
-  fps = av_q2d(format_context->streams[video_stream]->r_frame_rate);
-
-  // duration
-  duration = format_context->duration / 1000000LL;
-
-  frame_num = 0;
-}
-
-int MediaContainer::getHeight()
-{
-  return codec_context->height;
-}
-
-int MediaContainer::getWidth()
-{
-  return codec_context->width;
-}
-
-int MediaContainer::getFrameNumber()
-{
-  return frame_num;
-}
-
-double MediaContainer::getFPS()
-{
-  return this->fps;
-}
-
-void MediaContainer::printMediaInformation()
-{
-  PRINTF(1)("========================\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("=    MEDIACONTAINER    =\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("=    AVFormatContext   =\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("filename: %s\n", format_context->filename);
-  PRINTF(1)("nb_streams: %i\n", format_context->nb_streams);
-  PRINTF(1)("duration: (%02d:%02d:%02d)\n", duration/3600, (duration%3600)/60, duration%60);
-  PRINTF(1)("file_size: %ikb\n", format_context->file_size/1024);
-  PRINTF(1)("bit_rate: %ikb/s\n", format_context->bit_rate/1000);
-  PRINTF(1)("nb_frames: %i\n", format_context->streams[video_stream]->nb_frames);
-  PRINTF(1)("r_frame_rate: %i\n", format_context->streams[video_stream]->r_frame_rate.num);
-  PRINTF(1)("fps: %0.2f\n", av_q2d(format_context->streams[video_stream]->r_frame_rate));
-  PRINTF(1)("========================\n");
-  PRINTF(1)("=    AVCodecContext    =\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("width: %i\n", codec_context->width);
-  PRINTF(1)("height: %i\n", codec_context->height);
-  PRINTF(1)("time_base.den: %i\n", codec_context->time_base.den);
-  PRINTF(1)("time_base.num: %i\n", codec_context->time_base.num);
-  PRINTF(1)("========================\n");
-  PRINTF(1)("=       AVCodec        =\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("codec name: %s\n", codec->name);
-  PRINTF(1)("========================\n");
-  PRINTF(1)("========================\n");
-}
-
-void MediaContainer::printPacketInformation()
-{
-  PRINTF(1)("========================\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("=       AVPacket       =\n");
-  PRINTF(1)("========================\n");
-  PRINTF(1)("pts: %i\n", packet.pts);
-  PRINTF(1)("dts: %i\n", packet.dts);
-  PRINTF(1)("size: %i\n", packet.size);
-  PRINTF(1)("stream_index: %i\n", packet.stream_index);
-  PRINTF(1)("duration: %i\n", packet.duration);
-  PRINTF(1)("pos: %i\n", packet.pos);
-  PRINTF(1)("========================\n");
-  PRINTF(1)("========================\n");
-}
Index: branches/avi_play/src/lib/graphics/importer/media_container.h
===================================================================
--- branches/avi_play/src/lib/graphics/importer/media_container.h	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/media_container.h	(revision 6339)
@@ -9,5 +9,4 @@
 
 #include <SDL.h>
-#include <vector>
 
 #ifdef HAVE_AVFORMAT_H
@@ -19,19 +18,12 @@
 /* include base_object.h since all classes are derived from this one */
 #include "base_object.h"
+#include "texture_sequence.h"
 
 #include "glincl.h"
 
-/* using namespace std is default, this needs to be here */
-using namespace std;
-
-class MediaContainer : public BaseObject
+class MediaContainer : public TextureSequence
 {
 
 private:
-
-  double fps;
-  SDL_Surface* surface;
-  GLuint texture;
-  uint8_t* data;
 
   AVFormatContext* format_context;
@@ -41,13 +33,12 @@
   AVPacket packet;
   AVFrame* RGB_frame;
-  AVPicture* picture;
 
+  SDL_Surface* surface;
+  GLuint texture;
+  uint8_t* data;
+  uint8_t* buffer;
   int num_bytes;
-  uint8_t* buffer;
   int video_stream;
-  int duration;
-  int frame_num;
-
-  vector<GLuint>    texture_list;
+  double fps;
 
 public:
@@ -57,20 +48,12 @@
   ~MediaContainer();
 
-  void init();
-  void gotoFrame(int frame_number);
-  GLuint getNextFrame();
-  GLuint skipFrame(int num_frames);
-  vector<GLuint> getFrameList();
   void loadMedia(const char* filename);
+  void loadFrames();
 
-  int getHeight();
-  int getWidth();
-  int getFrameNumber();
   double getFPS();
 
-  void saveCurrentFrame();
-
-  void printMediaInformation();
-  void printPacketInformation();
+private:
+  
+  GLuint getNextFrame();
 
 };
Index: branches/avi_play/src/lib/graphics/importer/movie_player.cc
===================================================================
--- branches/avi_play/src/lib/graphics/importer/movie_player.cc	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/movie_player.cc	(revision 6339)
@@ -18,18 +18,18 @@
 /* this is for debug output. It just says, that all calls to PRINT() belong to the DEBUG_MODULE_MEDIA module
    For more information refere to https://www.orxonox.net/cgi-bin/trac.cgi/wiki/DebugOutput
-*/
+*//*
 #define DEBUG_MODULE_MEDIA
 
 
-/* include your own header */
+// include your own header
 #include "movie_player.h"
 
-/* header for debug output */
+// header for debug output
 #include "debug.h"
 
 
-/**
- * Default constructor
- */
+//
+// Default constructor
+//
 MoviePlayer::MoviePlayer(const char* filename)
 {
@@ -46,7 +46,4 @@
 }
 
-/**
- * Default destructor
- */
 MoviePlayer::~MoviePlayer()
 {
@@ -165,2 +162,3 @@
   return this->status;
 }
+*/
Index: branches/avi_play/src/lib/graphics/importer/movie_player.h
===================================================================
--- branches/avi_play/src/lib/graphics/importer/movie_player.h	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/movie_player.h	(revision 6339)
@@ -4,5 +4,5 @@
 
 */
-
+/*
 #ifndef _MOVIE_PLAYER
 #define _MOVIE_PLAYER
@@ -17,8 +17,8 @@
 #include "primitive_model.h"
 
-/* include base_object.h since all classes are derived from this one */
+// include base_object.h since all classes are derived from this one
 #include "base_object.h"
 
-/* The state of the MoviePlayer */
+// The state of the MoviePlayer
 typedef enum MP_STATUS {
   PLAY,
@@ -71,3 +71,4 @@
 
 
-#endif /* _MOVIE_PLAYER */
+#endif // _MOVIE_PLAYER
+*/
Index: branches/avi_play/src/lib/graphics/importer/texture_sequence.cc
===================================================================
--- branches/avi_play/src/lib/graphics/importer/texture_sequence.cc	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/texture_sequence.cc	(revision 6339)
@@ -153,11 +153,4 @@
 }
 
-bool TextureSequence::addFrameList(std::vector<GLuint> textures)
-{
-  // add the textures to the list
-  for(int i = 0; i < textures.size(); i++)
-    this->addFrame(textures[i]);
-}
-
 /**
  * @brief adds a new Frame at the end of the Sequence.
@@ -177,7 +170,8 @@
  * @param frameNumber the n-th frame
  */
-void TextureSequence::gotoFrame(unsigned int frameNumber)
+/*void TextureSequence::gotoFrame(unsigned int frameNumber)
 {
   if (this->textures.size() > frameNumber)
     this->setTexture(this->textures[frameNumber]);
 }
+*/
Index: branches/avi_play/src/lib/graphics/importer/texture_sequence.h
===================================================================
--- branches/avi_play/src/lib/graphics/importer/texture_sequence.h	(revision 6333)
+++ branches/avi_play/src/lib/graphics/importer/texture_sequence.h	(revision 6339)
@@ -30,5 +30,4 @@
     bool addFrame(SDL_Surface* surface);
     bool addFrame(GLuint texture);
-    bool addFrameList(std::vector<GLuint> textures);
 
     virtual bool rebuild();
@@ -37,5 +36,5 @@
     inline unsigned int getFrameCount() const { return this->textures.size(); };
 
-    void gotoFrame(unsigned int frameNumber);
+    //void gotoFrame(unsigned int frameNumber);
     /** @returns The textureID of the Frame @param frameNumber the n-th frame this texture-series.  */
     inline GLuint getFrameTexture(unsigned int frameNumber) const { return (this->textures.size()>frameNumber)?this->textures[frameNumber]:0; };
Index: branches/avi_play/src/subprojects/importer/importer.cc
===================================================================
--- branches/avi_play/src/subprojects/importer/importer.cc	(revision 6333)
+++ branches/avi_play/src/subprojects/importer/importer.cc	(revision 6339)
@@ -25,15 +25,8 @@
 #include "resource_manager.h"
 
-MediaContainer* movie;
 
 void Framework::moduleInit(int argc, char** argv)
 {
 
-  movie = new MediaContainer(argv[1]);
-
-  // print information about the media file
-  movie->printMediaInformation();
-
-  SDL_Delay(1000);
 
 }
@@ -46,6 +39,5 @@
 void Framework::moduleTick(float dt)
 {
-  while(movie->getNextFrame() != NULL);
-    movie->saveCurrentFrame();	
+
 }
 
Index: branches/avi_play/src/subprojects/importer/movie_player_test.cc
===================================================================
--- branches/avi_play/src/subprojects/importer/movie_player_test.cc	(revision 6333)
+++ branches/avi_play/src/subprojects/importer/movie_player_test.cc	(revision 6339)
@@ -21,16 +21,16 @@
 #include "movie_player.h"
 
-MoviePlayer* movie_player;
+//MoviePlayer* movie_player;
 
 void Framework::moduleInit(int argc, char** argv)
 {
-  movie_player = new MoviePlayer(argv[1]);
+  //movie_player = new MoviePlayer(argv[1]);
 
-  movie_player->printInformation();
+  //movie_player->printInformation();
 }
 
 void Framework::moduleEventHandler(SDL_Event* event)
 {
-  switch (event->type)
+  /*switch (event->type)
   {
     case SDL_KEYDOWN:
@@ -58,15 +58,15 @@
           break;
       }
-  }
+  }*/
 }
 
 void Framework::moduleTick(float dt)
 {
-  movie_player->tick(dt);
+  //movie_player->tick(dt);
 }
 
 void Framework::moduleDraw(void) const
 {
-  movie_player->draw();
+  //movie_player->draw();
 }
 
Index: branches/avi_play/src/subprojects/importer/multitex.cc
===================================================================
--- branches/avi_play/src/subprojects/importer/multitex.cc	(revision 6333)
+++ branches/avi_play/src/subprojects/importer/multitex.cc	(revision 6339)
@@ -20,7 +20,5 @@
 #include "light.h"
 
-#include "texture_sequence.h"
 #include "material.h"
-
 #include "primitive_model.h"
 #include <stdlib.h>
@@ -29,7 +27,6 @@
 
 Model* obj;
-TextureSequence* seq;
 Material* testMat;
-MediaContainer* movie;
+MediaContainer* media_container;
 
 int counter = 0;
@@ -40,33 +37,15 @@
 void Framework::moduleInit(int argc, char** argv)
 {
-  if( argc <= 2)
+  if( argc <= 1)
   {
     printf("Wrong arguments try following notations:\n");
-    printf("./multitex [media_file] [start_time]\n");
+    printf("./multitex [media_file]\n");
     exit(0);
   }
 
-  movie = new MediaContainer(argv[1]);
-  //movie = new MediaContainer();
-  //movie->loadMedia(argv[1]);
-  fps = movie->getFPS();
-
-  int start_frame = atoi(argv[2]);
-
-  // print information about the media file
-  movie->printMediaInformation();
+  media_container = new MediaContainer(argv[1]);
 
   testMat = new Material;
-
-  seq = new TextureSequence();
-
-  // get each fram individually
-  //while(seq->addFrame(movie->getNextFrame()) != NULL);
-  // get a list of frames
-  movie->gotoFrame(start_frame);
-  seq->addFrameList(movie->getFrameList());
-
   testMat->setDiffuseMap("maps/radialTransparency.png");
-
   obj = new PrimitiveModel(PRIM_PLANE, 10.0);
 
@@ -75,4 +54,6 @@
   (new Light())->setAbsCoor(5.0, 10.0, 40.0);
   (new Light())->setAbsCoor(-10, -20, -100);
+
+  fps = media_container->getFPS();
 }
 
@@ -96,5 +77,5 @@
         case SDLK_9:
           fps++;
-          PRINTF(1)("fps: %f\n", fps);
+          PRINTF(0)("fps: %0.2f\n", fps);
           break;
         // decrease fps
@@ -102,5 +83,5 @@
           if(fps > 0)
             fps--;
-          PRINTF(1)("fps: %f\n", fps);
+          PRINTF(0)("fps: %0.2f\n", fps);
           break;
         }
@@ -116,11 +97,9 @@
     counter = fps * timer;
 
-    if (counter > seq->getFrameCount())
+    if (counter >= media_container->getFrameCount())
     {
       timer = 0;
       counter = 0;
     }
-
-    seq->gotoFrame(counter);
   }
 }
@@ -129,5 +108,5 @@
 {
   testMat->select();
-  glBindTexture(GL_TEXTURE_2D, seq->getTexture());
+  glBindTexture(GL_TEXTURE_2D, media_container->getFrameTexture(counter));
   obj->draw();
 
@@ -135,5 +114,4 @@
 }
 
-
 void Framework::moduleHelp(void) const
 {
