mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-26 14:43:50 -04:00
parent
fc2ef74148
commit
dcd2aa83d4
BIN
tests/movies/impulse.flac
Normal file
BIN
tests/movies/impulse.flac
Normal file
Binary file not shown.
BIN
tests/movies/small.mp4
Normal file
BIN
tests/movies/small.mp4
Normal file
Binary file not shown.
58
tests/movies/test_movie_audio.py
Normal file
58
tests/movies/test_movie_audio.py
Normal file
@ -0,0 +1,58 @@
|
||||
from panda3d.core import MovieAudioCursor
|
||||
from panda3d.core import MovieAudio
|
||||
from panda3d.core import Filename
|
||||
from panda3d.core import PandaSystem
|
||||
from panda3d.core import MovieTexture
|
||||
from panda3d.core import MovieVideo
|
||||
|
||||
import pytest
|
||||
import os
|
||||
|
||||
|
||||
def test_audio_rate(): #tests for audio rate
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path) # enables Platform independent testing
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
movie_file = reference_file.open()
|
||||
assert movie_file.audio_rate() == 48000
|
||||
|
||||
|
||||
def test_audio_length(): #test for testing audio length
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
movie_file = reference_file.open()
|
||||
assert movie_file.length() == 2
|
||||
|
||||
|
||||
def test_can_seek(): #test for seeking
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
movie_file = reference_file.open()
|
||||
assert movie_file.can_seek() is True
|
||||
|
||||
|
||||
def test_can_seek_fast(): #test for seeking fast
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
movie_file = reference_file.open()
|
||||
assert movie_file.can_seek_fast() is True
|
||||
|
||||
|
||||
def test_audio_channel(): #tests for number of audio channels
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
movie_file = reference_file.open()
|
||||
assert movie_file.audio_channels() == 1
|
||||
|
||||
|
||||
def test_cursor(): #opening the file returns a cursor
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "impulse.flac")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieAudio.get(movie_path)
|
||||
file_name_return = reference_file.get_filename()
|
||||
assert reference_file.open() is not None #checks the cursor
|
||||
assert file_name_return == movie_path #checks the return name of the file
|
52
tests/movies/test_movie_texture.py
Normal file
52
tests/movies/test_movie_texture.py
Normal file
@ -0,0 +1,52 @@
|
||||
from panda3d.core import MovieVideo
|
||||
from panda3d.core import MovieTexture
|
||||
from panda3d.core import Filename
|
||||
from panda3d.core import PandaSystem
|
||||
from panda3d.core import MovieTexture
|
||||
|
||||
import pytest
|
||||
import os
|
||||
|
||||
|
||||
def check_ffmpeg():
|
||||
# Make sure video plug-ins are loaded
|
||||
MovieVideo.get("test.mp4")
|
||||
|
||||
system = PandaSystem.get_global_ptr()
|
||||
return 'FFmpeg' in system.systems #checks whether ffmpeg is loaded
|
||||
|
||||
|
||||
@pytest.mark.skipif(not check_ffmpeg(), reason="skip when ffmpeg is not available")
|
||||
class Test_Texture_Movie():
|
||||
def test_texture_loop_count(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path) # enables Platform independent testing
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
reference_texture = MovieTexture(reference_file)
|
||||
assert reference_texture.get_loop_count() == 1
|
||||
|
||||
def test_video_is_playing(self): #This test checks isPlaying() and stop() functionality
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path) # enables Platform independent testing
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
reference_texture = MovieTexture(reference_file)
|
||||
reference_texture.play()
|
||||
assert reference_texture.is_playing() is True
|
||||
reference_texture.stop()
|
||||
assert reference_texture.is_playing() is False
|
||||
|
||||
def test_play_rate(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path) # enables Platform independent testing
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
reference_texture = MovieTexture(reference_file)
|
||||
assert reference_texture.get_play_rate() == 1
|
||||
reference_texture.set_play_rate(2)
|
||||
assert reference_texture.get_play_rate() == 2
|
||||
|
||||
def test_video_texture_length(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path) # enables Platform independent testing
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
reference_texture = MovieTexture(reference_file)
|
||||
assert reference_texture.get_video_length() == 32.480 #got info from mkvinfo
|
39
tests/movies/test_movie_video.py
Normal file
39
tests/movies/test_movie_video.py
Normal file
@ -0,0 +1,39 @@
|
||||
from panda3d.core import MovieVideo
|
||||
from panda3d.core import Filename
|
||||
from panda3d.core import PandaSystem
|
||||
|
||||
import pytest
|
||||
import os
|
||||
|
||||
|
||||
def check_ffmpeg():
|
||||
# Make sure video plug-ins are loaded
|
||||
MovieVideo.get("test.mp4")
|
||||
|
||||
system = PandaSystem.get_global_ptr()
|
||||
return 'FFmpeg' in system.systems #checks whether ffmpeg is loaded
|
||||
|
||||
|
||||
@pytest.mark.skipif(not check_ffmpeg(), reason="skip when ffmpeg is not available")
|
||||
class Test_Video_Movie():
|
||||
def test_cursor_check(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
assert reference_file.get_filename() == movie_path
|
||||
assert reference_file.open() is not None
|
||||
|
||||
def test_video_length(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
cursor = reference_file.open()
|
||||
assert cursor.length() == 32.4800
|
||||
|
||||
def test_video_size(self):
|
||||
movie_path = os.path.join(os.path.dirname(__file__), "small.mp4")
|
||||
movie_path = Filename.from_os_specific(movie_path)
|
||||
reference_file = MovieVideo.get(movie_path)
|
||||
cursor = reference_file.open()
|
||||
assert cursor.size_x() == 640 #found the height and width using mkvinfo
|
||||
assert cursor.size_y() == 360
|
Loading…
x
Reference in New Issue
Block a user