Subject | Hash | Author | Date (UTC) |
---|---|---|---|
npv: video timer names | 8ab20e0c91538f9f84c09c78ee2d5242b5b74607 | Sylvain BERTRAND | 2020-05-30 17:14:56 |
npv:less worse pause support, some cleanup | ded1666c8970d67bba8f5d0d2ee25230403bc9c3 | Sylvain BERTRAND | 2020-05-30 16:26:21 |
npv:fix dynamic loading of xcb lib | 0235137068f40277460c4b6ea340bc5674d8dc7d | Sylvain BERTRAND | 2020-05-29 21:21:01 |
npv:x11/xcb screensaver heartbeat | bd293398599beae694bd3f862c374489067a9f53 | Sylvain BERTRAND | 2020-05-29 21:06:00 |
npa: don't slow down too much the audio thread | 1b8f1e2dd1d5272cd04a8fa711f26cdc3b6e1049 | Sylvain BERTRAND | 2020-05-29 03:00:23 |
npv/npa: lockless madness and much more | 368cb50098ac824cc5cb603c3e1539adfeda7e1d | Sylvain BERTRAND | 2020-05-29 02:20:19 |
npv:restore pause/seeking, add tmp info command | cf4da499db3123561aacd8732cd1eb97b9146e55 | Sylvain BERTRAND | 2020-05-27 17:31:56 |
npv:bugs, finer-grained locking, pthread_cond, etc | 8bd06c28483adc9986b8b51612e609115948943d | Sylvain BERTRAND | 2020-05-26 23:59:16 |
npv: fix obvious multithread bug | db4f3801c2185b8da1d9fb3f4b3da3d2ab92ea13 | Sylvain BERTRAND | 2020-05-24 21:42:08 |
remove old commented code | d3701c5734aceda5c46cd5f60281cc524c55e4a3 | Sylvain BERTRAND | 2020-05-24 19:29:04 |
npv: video: handle latency spikes on main thread | f629068cb27b47530058f81fc2b065b0786b4afa | Sylvain BERTRAND | 2020-05-24 18:11:07 |
npv: media pipeline | 30efa7c8f2574c676d9d41b8bf5678d5725b8721 | Sylvain BERTRAND | 2020-05-24 17:40:23 |
alsa-lib warning | 54b6dc9b912bb9509ba35405f15a623632adf784 | Sylvain BERTRAND | 2020-05-19 14:32:04 |
npv: proper handling of snd_pcm_drain() | db7959bdd5f7ed921773aef42984b1c982575ad4 | Sylvain BERTRAND | 2020-05-15 15:00:13 |
proper handling of snd_pcm_drain() | ae2c6458f893e77cd352fe9225e123bdf077e33f | Sylvain BERTRAND | 2020-05-15 14:46:30 |
after network testing: need an input thread | 0c26bffd3c2268cfb9f7d8e43c7aba2fbf7fec16 | Sylvain BERTRAND | 2020-05-13 23:11:20 |
spin on futex waiting in threaded scaler | e90420f459c608cbcbae423b3c487598a83de359 | Sylvain BERTRAND | 2020-05-13 21:05:48 |
npa tidying and npv addition, usable on our system | 443ff39347c8b599dfaafff612caed84287f1a70 | Sylvain BERTRAND | 2020-05-13 15:12:15 |
here we go | d5a2b11f4d73ec5365a340163f451fa8a123d728 | Sylvain BERTRAND | 2020-02-12 18:50:57 |
File | Lines added | Lines deleted |
---|---|---|
npv/local/code.frag.c | 3 | 3 |
npv/video/namespace/public.h | 2 | 2 |
npv/video/public.h | 2 | 2 |
npv/video/public/code.frag.c | 3 | 3 |
File npv/local/code.frag.c changed (mode: 100644) (index ef428d8..189ec3b) | |||
... | ... | static void cmd_pause(void) | |
799 | 799 | avformat_read_play(fmt_ctx_p); | avformat_read_play(fmt_ctx_p); |
800 | 800 | fmt_ctx_unlock(); | fmt_ctx_unlock(); |
801 | 801 | clk_unpause(); | clk_unpause(); |
802 | video_timer_140fps_start(); | ||
802 | video_timer_start(); | ||
803 | 803 | } else { | } else { |
804 | 804 | int r; | int r; |
805 | 805 | ||
... | ... | static void cmd_pause(void) | |
809 | 809 | avformat_read_pause(fmt_ctx_p); | avformat_read_pause(fmt_ctx_p); |
810 | 810 | fmt_ctx_unlock(); | fmt_ctx_unlock(); |
811 | 811 | clk_pause(); | clk_pause(); |
812 | video_timer_10fps_start(); | ||
812 | video_timer_slow_start(); | ||
813 | 813 | } | } |
814 | 814 | } | } |
815 | 815 | static void cmd_vol_up(void) | static void cmd_vol_up(void) |
... | ... | int main(int argc, u8 **args) | |
867 | 867 | POUT("predecoding audio and video..."); | POUT("predecoding audio and video..."); |
868 | 868 | predecode_wait(); | predecode_wait(); |
869 | 869 | POUT("done\n"); | POUT("done\n"); |
870 | video_timer_140fps_start(); | ||
870 | video_timer_start(); | ||
871 | 871 | ||
872 | 872 | loop evts_loop(); | loop evts_loop(); |
873 | 873 | /* unreachable */ | /* unreachable */ |
File npv/video/namespace/public.h changed (mode: 100644) (index ea41aad..cbcd966) | |||
16 | 16 | #define scaler_p video_scaler_p | #define scaler_p video_scaler_p |
17 | 17 | #define st_p video_st_p | #define st_p video_st_p |
18 | 18 | #define timer_fd_p video_timer_fd_p | #define timer_fd_p video_timer_fd_p |
19 | #define timer_140fps_start video_timer_140fps_start | ||
20 | #define timer_10fps_start video_timer_10fps_start | ||
19 | #define timer_slow_start video_timer_slow_start | ||
20 | #define timer_start video_timer_start | ||
21 | 21 | #define timer_evt video_timer_evt | #define timer_evt video_timer_evt |
22 | 22 | /*============================================================================*/ | /*============================================================================*/ |
23 | 23 | #else | #else |
File npv/video/public.h changed (mode: 100644) (index 3ef832c..b417dac) | |||
... | ... | static u8 dec_fr_try_receive(void); | |
24 | 24 | static void dec_frs_receive_avail(void); | static void dec_frs_receive_avail(void); |
25 | 25 | static void init_once(void); | static void init_once(void); |
26 | 26 | static void timer_evt(void); | static void timer_evt(void); |
27 | static void timer_140fps_start(void); | ||
28 | static void timer_10fps_start(void); | ||
27 | static void timer_start(void); | ||
28 | static void timer_slow_start(void); | ||
29 | 29 | static void dec_ctx_lock(void); | static void dec_ctx_lock(void); |
30 | 30 | static void dec_ctx_unlock(void); | static void dec_ctx_unlock(void); |
31 | 31 | static void dec_frs_lock(void); | static void dec_frs_lock(void); |
File npv/video/public/code.frag.c changed (mode: 100644) (index 65b73e3..084e9ee) | |||
... | ... | static void dec_ctx_cfg(avcodec_params_t *params) | |
64 | 64 | if (r < 0) | if (r < 0) |
65 | 65 | FATALVFF("unable to open the decoder context\n"); | FATALVFF("unable to open the decoder context\n"); |
66 | 66 | } | } |
67 | static void timer_140fps_start(void) | ||
67 | static void timer_start(void) | ||
68 | 68 | { | { |
69 | 69 | struct itimerspec t; | struct itimerspec t; |
70 | 70 | int r; | int r; |
... | ... | static void timer_140fps_start(void) | |
72 | 72 | memset(&t, 0, sizeof(t)); | memset(&t, 0, sizeof(t)); |
73 | 73 | /* initial and interval */ | /* initial and interval */ |
74 | 74 | t.it_value.tv_nsec = 1; /* asap */ | t.it_value.tv_nsec = 1; /* asap */ |
75 | t.it_interval.tv_nsec = 7000000; /* ~7ms */ | ||
75 | t.it_interval.tv_nsec = 2000000; /* 2ms */ | ||
76 | 76 | r = timerfd_settime(timer_fd_p, 0, &t, 0); | r = timerfd_settime(timer_fd_p, 0, &t, 0); |
77 | 77 | if (r == -1) | if (r == -1) |
78 | 78 | FATALV("unable to arm the timer\n"); | FATALV("unable to arm the timer\n"); |
79 | 79 | } | } |
80 | static void timer_10fps_start(void) | ||
80 | static void timer_slow_start(void) | ||
81 | 81 | { | { |
82 | 82 | struct itimerspec t; | struct itimerspec t; |
83 | 83 | int r; | int r; |