147 Commits
Author SHA1 Message Date
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
no-audio v1.1.5
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
wang-bin 9700241cfb README: add a picture from italian developers using QtAV with IP camera 2013-01-12 01:05:46 +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
v1.1.4
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
wang-bin 669381a7f8 null audio support
TODO: add an api AVOutput::isAvailable() instead of checking null
2013-01-01 23:02:16 +08:00
wang-bin bd238105d0 video thread sleep a little to wait the audio
if not, video thread will loop many times in a small time. sleep some
million seconds is ok.
2013-01-01 22:40:10 +08:00
wang-bin bd38b38620 fix drawing bug. draw an image twice on widget 2013-01-01 21:45:33 +08:00
wang-bin 8d29daf7f7 audio output is configurable when compiling
default is portaudio. enabling openal: qmake "CONFIG+=openal"
2013-01-01 15:10:03 +08:00
wang-bin 9e9db67d00 audio and video is synced by msleep() in audio thread
TODO: why is msleep required? if portaudio will block thread when
playing, then we don't need msleep theorically. in fact, it does block,
but audio will be a little faster than video, why?
why usleep is worse
2013-01-01 14:51:31 +08:00
wang-bin ff3e688d35 TODO 2013-01-01 12:47:00 +08:00
wang-bin 932944b6c5 std::queue example 2013-01-01 12:45:57 +08:00
wang-bin ec5ac193ec dptr example 2013-01-01 12:45:16 +08:00
wang-bin 53ab38af68 clear queue if reset
TODO: how to make sure cleared
2012-12-24 03:28:44 +08:00
wang-bin 1112cd9a63 warning 2012-12-24 03:27:02 +08:00
wang-bin 442933a83b terminate thread if stop failed or timeout
TODO: why timeout
2012-12-24 03:21:18 +08:00
wang-bin 7380ab1cea avoid emitting eof signal multiple times 2012-12-24 03:13:45 +08:00
wang-bin 118c45e381 version 1.1.3 v1.1.3 2012-12-23 20:43:38 +08:00
wang-bin 7a753ea7f6 warning and todo(sync/async capture) 2012-12-23 20:43:02 +08:00
wang-bin 4839da4c58 return if audio open failed. we only have audio clock now 2012-12-23 20:41:52 +08:00