Chris Robinson
2f8daec379
Allow pausing only certain types of sounds
2012-12-18 04:19:35 -08:00
Chris Robinson
b4e36d4f31
Add a method to get the volume from the sound type
2012-12-18 02:01:04 -08:00
Chris Robinson
a5356e194e
Allow specifying a type for the playTrack method
2012-12-18 01:35:20 -08:00
Chris Robinson
72ffceb206
Add type flags to the sound play mode
2012-12-18 00:57:57 -08:00
Chris Robinson
dd3e568a00
Set the sound properties at initialization
2012-12-17 23:35:20 -08:00
Chris Robinson
20321c4552
Keep track of the actual active sounds
2012-12-17 21:50:01 -08:00
Chris Robinson
d348435a1d
Improve audio open error message
2012-12-17 21:09:57 -08:00
Chris Robinson
67485d3454
Store the AVStream in the decoder for easy referencing
2012-12-17 07:15:53 -08:00
Chris Robinson
4373218746
Fix audio stream check
2012-12-17 06:56:30 -08:00
Chris Robinson
58ab3407b7
Constify a couple fields
2012-12-17 04:17:06 -08:00
Chris Robinson
d67951a256
Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback
2012-12-17 00:42:13 -08:00
Chris Robinson
9e842a0bbb
Fix for trying to play videos when not supported
2012-12-17 00:41:04 -08:00
Chris Robinson
26660110e5
Allow building the video player without ffmpeg (playVideo will always throw an exception)
2012-12-17 00:20:56 -08:00
Chris Robinson
06fd66e99d
Move some fields to the class they're used in
2012-12-16 11:49:46 -08:00
scrawl
df9121f7fc
Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
2012-12-16 16:59:49 +01:00
Chris Robinson
9c805483b0
Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback
2012-12-16 07:17:06 -08:00
scrawl
86671096ec
remove commandline switch for new game
2012-12-16 16:14:49 +01:00
scrawl
c5dd0e1968
New Game button
2012-12-16 16:05:31 +01:00
Chris Robinson
c92cde2be9
Properly flush packet queues when at EOF
...
Note: the previous flush method was renamed to clear. Flushing a queue allows
consumers to retrieve queued packets, but not expect any more to come in.
2012-12-16 05:50:20 -08:00
Chris Robinson
6bc526b74d
Avoid another loop for decoding audio
2012-12-16 05:30:38 -08:00
Chris Robinson
3829bbfeca
Look for all available sound input libs as needed, and warn if not found
2012-12-16 04:01:27 -08:00
Chris Robinson
8cde6db665
We no longer need SDL
2012-12-16 03:17:17 -08:00
Chris Robinson
254a623319
Remove a redundant check
2012-12-16 03:09:24 -08:00
Chris Robinson
dd20db5dc2
Remove the stream indices from the VideoState
2012-12-16 03:05:44 -08:00
Chris Robinson
3f6d36c712
Avoid double-setting the material texture
2012-12-16 02:19:19 -08:00
Chris Robinson
e9d833be03
Use the packet pts to calculate the decoder sample offset
2012-12-16 01:56:52 -08:00
Chris Robinson
0edc87825d
Move audio_clock to the decoder where it's used
2012-12-16 01:17:58 -08:00
Chris Robinson
4561c22e2b
More fixes for the audio clock
...
The audio_clock for the decoder represents the end of the current packet, so it
needs to be adjusted back to match the position that's actually going to be
read next.
2012-12-16 00:07:56 -08:00
Chris Robinson
1a771ae671
Merge the stream struct into the parent decoder
2012-12-15 23:46:32 -08:00
Chris Robinson
5fff1c4e47
Update the ffmpeg decoder to use avcodec_decode_audio4
2012-12-15 23:22:37 -08:00
Chris Robinson
5f4c33f896
Only store one packet at a time
2012-12-15 22:54:54 -08:00
Chris Robinson
9d86890d9d
Only use one stream for the ffmpeg decoder
2012-12-15 22:13:19 -08:00
scrawl
a3bd3a40ca
fix 2 unrelated leaks
2012-12-16 00:47:29 +01:00
scrawl
18623a5efe
Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
2012-12-16 00:43:34 +01:00
scrawl
edf18a7d6e
change destruction order to fix crash on exit when a video is playing
2012-12-15 22:01:45 +01:00
Chris Robinson
c869444dcf
Don't leak the IO context if avformat_open_input fails
2012-12-15 11:31:50 -08:00
scrawl
63e86555b6
use sample_aspect_ratio if available
2012-12-15 19:40:59 +01:00
scrawl
5ed04ae53e
added black bars
2012-12-15 19:23:03 +01:00
Chris Robinson
e6d27cd6d0
Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback
2012-12-15 09:15:47 -08:00
Chris Robinson
9b3cf5c159
Use a looping thread to trigger refreshes
2012-12-15 09:14:58 -08:00
Chris Robinson
fa1ad381da
Make sure packets are cleaned up properly
2012-12-15 08:42:54 -08:00
scrawl
7477345481
fixed video material
2012-12-15 17:10:21 +01:00
Chris Robinson
db23c8152e
Only duplicate AVPackets as needed
...
Packets that don't have a destruct method are using static memory, which will
only be valid until the next av_read_frame call. Otherwise, it's already
dynamically allocated and will remain valid.
2012-12-15 07:47:03 -08:00
Chris Robinson
6008cf0d15
Remove unneeded video_current_pts field
2012-12-15 05:02:01 -08:00
Chris Robinson
da44141b95
Avoid creating extra texture unit states on the video material
2012-12-15 04:17:28 -08:00
Chris Robinson
d50698d7d1
Clean up the rectangle and scene node used for displaying the video
2012-12-15 04:01:52 -08:00
Chris Robinson
eb0e8d9e37
Simplify PacketQueue::get
2012-12-15 02:50:59 -08:00
Chris Robinson
b41a77648e
Avoid re-reading the source sample to duplicate, to avoid pointer aliasing
2012-12-15 02:33:59 -08:00
Chris Robinson
62a995d492
Calculate audio sync once per read
2012-12-15 00:18:42 -08:00
Chris Robinson
32b0a5d96e
Update the queued sample count immediately
2012-12-14 23:42:49 -08:00