Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 18, 2006, 5:25:48 PM (18 years ago)
Author:
bensch
Message:

TRUNK: merged the avi_play branche again

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/graphics/importer/movie_player.cc

    r6532 r6600  
    4949MoviePlayer::~MoviePlayer()
    5050{
    51   delete material;
    52   delete model;
     51  //delete material;
     52  //delete model;
    5353
    5454  if (glIsTexture(texture))
     
    8181  loading = false;
    8282
    83   material = new Material;
     83  /*material = new Material;
    8484  material->setDiffuseMap("maps/radialTransparency.png");
    8585
     
    9090  (new Light())->setAbsCoor(5.0, 10.0, 40.0);
    9191  (new Light())->setAbsCoor(-10, -20, -100);
     92  */
    9293}
    9394
     
    195196      // Free the packet that was allocated by av_read_frame
    196197      av_free_packet(&packet);
    197      
     198
    198199      // Did we get a video frame?
    199200      if(frame_finished)
     
    248249void MoviePlayer::skipFrame(int frames)
    249250{
    250  
     251
    251252  while(frames != 0)
    252253  {
     
    259260      avcodec_decode_video(codec_context, frame, &frame_finished,
    260261                            packet.data, packet.size);
    261        
     262
    262263      // Did we get a video frame?
    263264      if(frame_finished)
     
    269270    av_free_packet(&packet);
    270271  }
    271  
     272
    272273  this->getNextFrame();
    273274
     
    307308      return false;
    308309    }
    309    
     310
    310311    // go from the keyframe to the exact position
    311312    codec_context->hurry_up = 1;
     
    327328    } while(1);
    328329    codec_context->hurry_up = 0;
    329  
     330
    330331    this->frame_number = frames;
    331332  }
    332  
     333
    333334  return true;
    334335}
     
    343344    status = PLAY;
    344345    timer = 0;
    345  
     346
    346347    this->gotoFrame(start_frame);
    347  
     348
    348349    PRINTF(0)("start\n");
    349350  }
     
    380381  {
    381382    timer += dt;
    382     actual_frame = timer * fps + start_frame;
     383    actual_frame = (int)(timer * fps + start_frame);
    383384    if(actual_frame != frame_number)
    384385    {
     
    387388      else
    388389        this->skipFrame(actual_frame - frame_number - 1);
    389     }   
     390    }
    390391    //PRINTF(0)("frame_number: %i\n", frame_number);
    391392  }
    392393}
    393394
    394 const void MoviePlayer::draw()
     395/*const void MoviePlayer::draw()
    395396{
    396397  material->select();
     
    399400
    400401  LightManager::getInstance()->draw();
     402}*/
     403
     404GLuint MoviePlayer::getTexture()
     405{
     406  return this->texture;
    401407}
    402408
Note: See TracChangeset for help on using the changeset viewer.