105 Commits
Author SHA1 Message Date
wang-bin eccb0b61c2 Use BlockingRing to store data. Not ready 2012-12-25 22:45:08 +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
wang-bin 90438c6f58 flush after seek.
clean up avcodec internal buffer
2012-12-23 20:39:44 +08:00
wang-bin f573e5083c Qt5 2012-12-23 20:37:03 +08:00
wang-bin 982ab1bac4 GUID_NULL may not defined in portaudio 2012-12-22 00:24:09 +08:00
wang-bin 3caf73710a reimpleme convertData(const QByteArray&) and write() is more reasonable
we must inlcude the base::write(const QByteArray&) in derived::write
before, not a good way. now just do what it should do
2012-12-20 23:53:39 +08:00
wang-bin 31cc7e25b0 remove test add gui project. it's time to write a player 2012-12-19 15:05:47 +08:00
wang-bin ad8a99304e use readwritelock instead of mutex 2012-12-19 15:04:00 +08:00
LucasWang 35730ee265 qmake usage: set var in command line 2012-12-18 15:04:05 +08:00
wang-bin 829d29f9ff misc 2012-12-17 18:09:44 +08:00
wang-bin a8e0099aa0 SWS_FAST_BILINEAR for speed 2012-12-17 18:09:08 +08:00
wang-bin eaf5c827df portaudio: may link error for some mingw-gcc 2012-12-17 18:08:29 +08:00
wang-bin 71a11359cc Fix the wrong audio pts delay 2012-12-17 17:17:56 +08:00
wang-bin c861d4298f capture in a new thread
BUG: the image may not which we see when click
2012-12-16 19:10:11 +08:00
wang-bin db2f53edd2 Merge branch 'master' of github.com:wang-bin/QtAV resizeok 2012-12-16 01:40:01 +08:00
wang-bin 831a335385 Crash on resizing fixed with the fixed picture size 2012-12-16 01:33:51 +08:00
WangBin 1cef8f6042 Update README.md
How to build with QtCreator
2012-12-13 14:10:20 +08:00
wang-bin b6f712d2e0 Merge branch 'master' of github.com:wang-bin/QtAV 2012-12-12 15:44:39 +08:00
wang-bin 298835163f TODO: playNextFrame has a bug 2012-12-12 15:42:50 +08:00
LucasWang f02a1314d2 fix command line bug 2012-12-11 16:29:55 +08:00
wang-bin 9365bc2d08 version 1.1.2
better seeking
2012-12-10 10:55:01 +08:00
wang-bin 544bf5d7c4 TODO and bugs 2012-12-10 00:23:12 +08:00
wang-bin 180919c075 ignore empty packets 2012-12-09 14:21:19 +08:00
wang-bin a1b98cd86e don't wake up empty_cond in clear(). ensure the queue.size>0 when wake
blocking is always enabled if queue is empty. perhaps we should rename
the setBlocking() api
2012-12-09 14:19:44 +08:00
wang-bin 7cc5813aa5 ensure seeking and demuxthread not run concurrently
the a/v queue must been cleaned up after seeking. if seeking and
demuxing run concurrently, the clear() may be before put() for many
times(demux thread loop), e.g. seek()->clear()->readFrame()->put()
2012-12-09 14:15:41 +08:00
wang-bin 147f677b55 Do not block a/v queue if another queue's size is too small
I can not find a good way to sync the A/V packet queue now. For now, if
1 queue's size is less than it's threshold, for example, video queue,
then do not block audio queue, otherwise video queue will be empty for a
long time untill audio queue's size is less than it's threshold, so the
video renderer will not update pictures during this time. Problem still
exists, if video queue is empty when audio queue is blocked(demux thread
bolcked), then the picture will not update too.
The expected solution is do not block both queue(so the demux thread)
when 1 queue is empty(or size too small?)
2012-12-08 21:16:04 +08:00
wang-bin 6151070584 remove AVInfo. Use AVDemuxer instead 2012-12-08 10:15:10 +08:00
LucasWang 3f8437bcf6 Use template template parameter 2012-11-28 16:18:03 +08:00
wang-bin e250b087d8 Add AVPlayer::playerNextFrame()
if not player, start
2012-11-27 22:23:03 +08:00
wang-bin 231e59c00f Add resource file for win. 2012-11-23 00:25:58 +08:00
wang-bin 3d6aad1c3f v1.1.1 v1.1.1 2012-11-21 15:52:47 +08:00
wang-bin 0a76780943 Individual EventFilter to handle events pass to the renderer not global
install event filter to qApp will affect the other components' event
handling, e.g. text inputing. Now it is installed to the renderer.
FIXME: QGraphicsWidget event handling is strange
2012-11-21 15:39:08 +08:00
wang-bin d11d26c06b Seek only when the video is available 2012-11-21 13:50:39 +08:00
wang-bin 826348160d misc: mute in AVPlayer. README add shortcut "N" 2012-11-21 01:03:58 +08:00
wang-bin c5d25cca7f Avoid receiving a key press event multiple times
We return false and the event will be dispatched again, we may receive
this event again but for another target
2012-11-20 18:29:30 +08:00
wang-bin 1df22e9be7 capture name using video timestamp. resolution is 1ms 2012-11-20 16:49:14 +08:00
wang-bin 98592d0370 av_always_inline 2012-11-20 13:19:00 +08:00
wang-bin 26519622b3 Qt5 logging support 2012-11-20 13:16:34 +08:00
wang-bin 6574165039 clock value is pts+delay
BUG: the video is a litter faster than audio!
2012-11-20 13:03:56 +08:00
wang-bin 36b6f9ec87 capture and play frame by frame support
TODO: get the original size.
BUG: the capture file name using the pts, which may be the same for the
adjoining frames.
2012-11-20 13:02:27 +08:00
wang-bin ba95422c23 update README.md. Add seek forward/backward shortcut 2012-11-18 21:32:09 +08:00
wang-bin 41c567b3a6 puts ifdef the wrong position 2012-11-15 16:15:38 +08:00
wang-bin 67dc74df6c Seeking is better. Backward support
I used the last demuxed pts which is not correct because demuxer may be
waiting.
2012-11-15 15:47:57 +08:00
wang-bin 8c0125082d misc 2012-11-15 14:27:14 +08:00