142 Commits
Author SHA1 Message Date
wang-bin c0ba320309 version 1.1.6 2013-01-25 21:09:15 +08:00
wang-bin ee3181af32 fix crash and video blocking when seeking
avcodec_flush_buffers() immediatly after seeking may cause a crash or
blocking the thread, but
i don't know why.
TODO: flush in AVThread when got a flush packet
2013-01-23 22:38:37 +08:00
LucasWang 534452789a add some signals in AVClock
updateExternalClock can be non-inline. it is called outside and not frequently
TODO: updateExternalClock(const AVClock& clock)
2013-01-23 19:10:17 +08:00
wang-bin 9b807568ea add network test 2013-01-20 20:12:46 +08:00
wang-bin ad39d9bbbf slow down volume change if it,s small 2013-01-20 18:41:25 +08:00
wang-bin 922272c67c update frames when seeking on pause. ugly code 2013-01-20 18:38:22 +08:00
wang-bin 5c77f1a263 add seek interval limitation to avoid seeking too frequently 2013-01-20 18:13:41 +08:00
wang-bin e4a64c0f0e capture: error code, pause avthread if in main thread, rm dead code 2013-01-20 17:13:55 +08:00
wang-bin 617b8133df capture video in main thread or another thread is selectable. api change 2013-01-20 16:25:58 +08:00
wang-bin f0606009cc Clock can be auto selected or force setted
auto: using audio clock if audio stream found
2013-01-20 15:36:25 +08:00
wang-bin 99fc9986ac update copyright date 2013-01-20 15:04:25 +08:00
wang-bin 4c1c57fcc8 ignore if pause state not changed 2013-01-20 14:33:55 +08:00
wang-bin 8b0b083f69 renderer: black background. focus(key events), move/resize if no parent. 2013-01-20 14:32:33 +08:00
wang-bin 35901de235 playing music support. fix crash problem for audio stream 2013-01-18 23:19:32 +08:00
wang-bin 2f8c70d968 fix seeking error if audio stream not exists 2013-01-18 22:36:25 +08:00
wang-bin 04235228e8 BlockingQueue: block for full/empty separately 2013-01-18 22:29:51 +08:00
wang-bin a3e4207e90 version 1.1.5
changelog:
plannar audio support
g++ compile error fix
individual image converter
pause thread and shared output support
stream without audio support
2013-01-18 00:56:03 +08:00
wang-bin 1052d0453e bug fixed: playNextFrame() not work
continue will never decode the next packet
2013-01-18 00:44:56 +08:00
wang-bin ce718ef4fa support streams without audio stream by the ExternalClock
FIXME: the clock will keep ExternalClock type even if play a new stream
with audio stream
BUG:
1. can not seek backward.
2. frames in the end can not be played correctly
2013-01-18 00:18:39 +08:00
wang-bin e683ed7f37 always block the queue if only on queue(decoder/thread) is available 2013-01-18 00:03:30 +08:00
wang-bin d78c675c0d check AVDecoder.isAvailable() when running a decoder thread and decode()
if false, the decoder thread should not run, and decode() no nothing
2013-01-18 00:02:04 +08:00
wang-bin 7b075ceaef Add external clock support 2013-01-17 23:30:41 +08:00
LucasWang 27b5c3f663 tryPause() return a boolean value for convenience 2013-01-17 17:16:14 +08:00
wang-bin 3d007c3c05 pause threads instead of output
an output may be shared by several players
2013-01-17 00:07:47 +08:00
wang-bin d8e13ba0c6 use ImageConverter and remove useless code 2013-01-15 22:28:42 +08:00
wang-bin ab2d7540d1 use mutex locker 2013-01-15 22:00:04 +08:00
wang-bin b45c347181 unlock an unlocked mutex may result in crash in Qt5 win64
assert in Qt5
2013-01-15 21:38:51 +08:00
LucasWang 8d1d9709fb update qmake pro. use the latest version 2013-01-14 12:50:15 +08:00
wang-bin 3a10f671e0 misc 2013-01-14 00:43:51 +08:00
wang-bin 1fce89c910 only g++ 4.7.2 can't compile 2013-01-14 00:42:49 +08:00
wang-bin b9d196aba5 Add ImageConverter class so that we can use hwa support for convertion
Now only a converter based on FFMpeg swscale is implemented. Maybe the
interfaces are not good. It's ready for using ipp
TODO:
1. if in_fmt to out_fmt is not supported by hwa, then use ff(in base
class?)
2. move ImageConverter from decoder to video thread. decoder only do the
decoding
2013-01-14 00:41:26 +08:00
wang-bin db15f9d17d Add how to write compatible API 2013-01-12 01:13:54 +08:00
LucasWang d2110f5fd5 check a/v codec context before start a/v thread 2013-01-10 17:13:33 +08:00
wang-bin 01a594ac90 fix gcc 4.7.2 build error: taking address of temporary array
may be a libav/ffmpeg bug
2013-01-10 17:01:05 +08:00
wang-bin 12e9bcb685 Add some old ffmpeg apis. frome qmmp. TO be continue 2013-01-07 20:15:54 +08:00
wang-bin 16cb6dd37e print ffmpeg version on start up 2013-01-07 20:14:46 +08:00
wang-bin 1f5372e0dd planar audio format support 2013-01-07 20:05:47 +08:00
wang-bin e04c5bcf5d misc 2013-01-06 21:32:46 +08:00
wang-bin 8fe0ff7c09 Version 1.1.4
Changelog:
works if audio is not available
a/v sync
bug fix
2013-01-05 21:58:00 +08:00
wang-bin 06e7d3efa2 misc 2013-01-05 20:32:47 +08:00
wang-bin cf088cf02c TODO. 1.Pause AVThread. 2.framework and optimization design
if AVOutput is null, we can not access the pause state from it. So pause
state stored in AVThread is required
2013-01-05 20:30:47 +08:00
wang-bin 12f196fed4 return false if decoded audio format not supported here
TODO: deal with planar formats
2013-01-05 20:26:56 +08:00
wang-bin f91d1e53f5 Fix play error if audio output not available or decode failed
sleep delta pts if decode failed. sleep a chunk play time if audio
output not available
TODO: DO NOT decode and convert if audio output is not available
2013-01-05 20:25:09 +08:00
wang-bin efd758285a Update the clock after seeking. Add warnings
New clock value may be used in AVThread.
2013-01-05 20:11:14 +08:00
wang-bin 32786e5038 demux thread may blocked when seeking try to lock
TODO: is unlock then lock it safe? How about locked by demux thread
immediatly when unlock and block the thread?
2013-01-05 20:05:07 +08:00
wang-bin 5335957dd0 add isAvailabe() for AVOutput. If open init/failed, it's false
TODO: DO NOT decode(or at least convert data) if the output is not
available
2013-01-05 20:00:31 +08:00
wang-bin 9ea28ec669 Merge branch 'master' of github.com:wang-bin/QtAV 2013-01-04 23:40:32 +08:00
wang-bin e02f2ed660 simple optimize. update delay before decode audio
video is slow
2013-01-04 23:39:27 +08:00
LucasWang 23f1a91972 dptr: add copyright from qxt 2013-01-04 09:37:55 +08:00
wang-bin 5bc9f2d97b the missing initialization for AVClock 2013-01-01 23:02:47 +08:00