Panda3D
ffmpegAudio.cxx
1 // Filename: ffmpegAudio.cxx
2 // Created by: jyelon (01Aug2007)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #include "config_ffmpeg.h"
16 #include "ffmpegAudio.h"
17 #include "ffmpegAudioCursor.h"
18 #include "dcast.h"
19 
20 TypeHandle FfmpegAudio::_type_handle;
21 
22 ////////////////////////////////////////////////////////////////////
23 // Function: FfmpegAudio::Constructor
24 // Access: Protected
25 // Description: xxx
26 ////////////////////////////////////////////////////////////////////
28 FfmpegAudio(const Filename &name) :
29  MovieAudio(name)
30 {
31  _filename = name;
32 }
33 
34 ////////////////////////////////////////////////////////////////////
35 // Function: FfmpegAudio::Destructor
36 // Access: Protected, Virtual
37 // Description: xxx
38 ////////////////////////////////////////////////////////////////////
41 }
42 
43 ////////////////////////////////////////////////////////////////////
44 // Function: FfmpegAudio::open
45 // Access: Published, Virtual
46 // Description: Open this audio, returning a MovieAudioCursor
47 ////////////////////////////////////////////////////////////////////
48 PT(MovieAudioCursor) FfmpegAudio::
49 open() {
50  PT(FfmpegAudioCursor) result = new FfmpegAudioCursor(this);
51  if (result->_format_ctx == 0) {
52  ffmpeg_cat.error() << "Could not open " << _filename << "\n";
53  return NULL;
54  } else {
55  return (MovieAudioCursor*)(FfmpegAudioCursor*)result;
56  }
57 }
58 
59 ////////////////////////////////////////////////////////////////////
60 // Function: FfmpegAudio::make
61 // Access: Published, Static
62 // Description: Obtains a MovieAudio that references a file.
63 ////////////////////////////////////////////////////////////////////
64 PT(MovieAudio) FfmpegAudio::
65 make(const Filename &name) {
66  return DCAST(MovieAudio, new FfmpegAudio(name));
67 }
virtual ~FfmpegAudio()
xxx
Definition: ffmpegAudio.cxx:40
A stream that generates a sequence of audio samples.
The name of a file, such as a texture file or an Egg file.
Definition: filename.h:44
A MovieAudio is actually any source that provides a sequence of audio samples.
TypeHandle is the identifier used to differentiate C++ class types.
Definition: typeHandle.h:85
FfmpegAudio(const Filename &name)
xxx
Definition: ffmpegAudio.cxx:28
A MovieAudio is actually any source that provides a sequence of audio samples.
Definition: movieAudio.h:48