1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 21:19:55 +00:00
Commit graph

879 commits

Author SHA1 Message Date
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
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
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
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
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
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
cbdf6ad595 Move more stuff to where it should be, and improve cleanup 2012-12-14 09:07:59 -08:00
Chris Robinson
71ff90aaee Don't use sub-frame timing for the video clock 2012-12-14 08:42:37 -08:00
Chris Robinson
582efcdb9b Always try to resync if the clock difference is large 2012-12-14 07:40:19 -08:00
Chris Robinson
f97eaec7ab Consolidate some code 2012-12-14 07:29:58 -08:00
Chris Robinson
d66d8a3118 Don't assume we can write beyond the end of the sample buffer 2012-12-14 06:43:51 -08:00
Chris Robinson
7332ffb0f8 Let the wanted sample size go down to 0 2012-12-14 06:02:34 -08:00
Chris Robinson
05c6483257 Fix external clock 2012-12-14 04:35:57 -08:00
Chris Robinson
2f37d31108 Move some definitions into the source file they're used in 2012-12-14 04:12:34 -08:00
Chris Robinson
a6e627001a Avoid a for(;;) construct 2012-12-14 03:23:04 -08:00
Chris Robinson
4d6c05f6cc Tighten audio skew allowance 2012-12-14 03:19:32 -08:00
Chris Robinson
8db5d10f10 Avoid showing a video picture if we're late
Ideally we should skip decoding, or at least YUV->RGB conversion, too.
2012-12-14 03:11:59 -08:00
Chris Robinson
157cb10f56 Fix a 16-bit audio assumption 2012-12-14 02:39:46 -08:00
Chris Robinson
c2b711d195 Move some more methods to the class they're part of 2012-12-14 02:36:29 -08:00
Chris Robinson
26a09ee7ba Move some methods into their respective class 2012-12-14 01:38:00 -08:00
Chris Robinson
5221298a7f Move a couple packet queue methods into the struct 2012-12-14 01:14:14 -08:00
Chris Robinson
90294c589b Use a volatile bool for the refresh 2012-12-13 18:24:57 -08:00
Chris Robinson
f555dc60eb Reduce some indentation 2012-12-13 18:12:17 -08:00
Chris Robinson
6cedd64509 Fix audio sync correction sizes 2012-12-13 18:05:27 -08:00
Chris Robinson
e291d0943d Merge remote-tracking branch 'scrawl/videoplayback' into videoplayback 2012-12-13 17:53:50 -08:00
Chris Robinson
606fb982a8 Update to use avcodec_decode_audio4 2012-12-13 17:53:22 -08:00
scrawl
82564e07c7 fix crash when video file doesn't exist 2012-12-14 01:44:00 +01:00
scrawl
27cd9ff732 Revert "Use the decoded frame pts when available"
This reverts commit cab68df257.
2012-12-14 01:03:49 +01:00
scrawl
9d6f656822 fixed ogre resource functions 2012-12-14 00:10:54 +01:00