sylware / nyanmp (public) (License: AGPLv3) (since 2020-02-12) (hash sha1)
intended to become a collection of media players for gnu/linux based on ffmpeg, alsa, vulkan, x11, wayland, etc.
List of commits:
Subject Hash Author Date (UTC)
npv: better reuse of ffmpeg references, stats 4bb1b9ab45609f8e5113cc7613ebc1d09499561b Sylvain BERTRAND 2021-05-20 18:24:32
npv: avoid stale frames fb20683b7cb91622b639b05e8b324d13edc72522 Sylvain BERTRAND 2021-05-16 20:51:34
npv: inverted resync logic and rate limiter 9e772be0d5e19dc4dcef05ee2b4ce47c42788f8e Sylvain BERTRAND 2021-05-16 18:06:23
npv:trying to work around nasty live streams 544ddd3381ad56363bb275ae59419e97e8c86895 Sylvain BERTRAND 2021-05-14 15:45:19
npv:spurious braces e8678920198c6795420c54a839b92e5d301b4183 Sylvain BERTRAND 2021-05-06 20:55:38
npv:pts debug tracing, ffmpeg dev tantrum 8c3bf9cf42fc3419b64c232f905c5c580d6a1942 Sylvain BERTRAND 2021-05-06 18:37:35
npa: forgot zero-ing before cmp ceff7a70798b604bdb876a92ba0c446e3ede8a5b Sylvain BERTRAND 2021-04-15 20:15:07
npv: namespace love cb385e293aeb094073963c46022f3c430b6bf9c1 Sylvain BERTRAND 2021-01-16 18:37:11
conservative handling of vulkan linear filtering 7736b342c3566ac3ffa7a83ff1c7985e5595265f Sylvain BERTRAND 2021-01-15 18:18:02
npv: spurious AND faulty image creation flag e7d0d4e9efa15781b323cd092989bc0b95331875 Sylvain BERTRAND 2021-01-15 02:01:16
npa: buffering 9b2ec327646a289dae3e4cbb31b4857bf612d7e2 Sylvain BERTRAND 2020-11-06 17:20:56
npa: tons of love 68a79110ca4a6f5bdb41ed90e421b6f46c1c1877 Sylvain BERTRAND 2020-11-06 15:20:13
npv: spurious unsigned 5b4e039ffd921438a37112f0b4108480366f4d6d Sylvain BERTRAND 2020-11-06 04:31:18
npv: backward discontinuity handling 0fc81a53996993992dd86a96a26afd2aab0ac366 Sylvain BERTRAND 2020-09-25 16:14:26
npv: more monotonic, more pts discontinuity 1ab37ad2a24ca8f9fbf6d51eac8f996bd2eefacf Sylvain BERTRAND 2020-09-25 01:34:41
npv: workaround a mesa bug (which leads to linux state corruption) 780e5bec0b90a9e931778cf68fec62a7c5241c13 Sylvain BERTRAND 2020-09-23 15:57:25
npv: fix filter time base handling, prepare discontinuity support 2b7347be805d17a2b6f06e276e897c51431b9c6c Sylvain BERTRAND 2020-09-22 17:38:46
npv: correct coarse sync of vulkan image acquisition a9b52940ff2d567dc6c26b28d86eab54f5876819 Sylvain BERTRAND 2020-09-20 22:00:32
npv: fix channel layout handling and a tad more 88f74f181a567d108874a936fe3d306d34cfefb7 Sylvain BERTRAND 2020-09-19 23:12:04
npv: dynamic audio filter configuration d8a0ff688ddb2abcde22c01a2ae52ea74e9f0f2f Sylvain BERTRAND 2020-09-19 20:54:04
Commit 4bb1b9ab45609f8e5113cc7613ebc1d09499561b - npv: better reuse of ffmpeg references, stats
Author: Sylvain BERTRAND
Author date (UTC): 2021-05-20 18:24
Committer name: Sylvain BERTRAND
Committer date (UTC): 2021-05-20 18:24
Parent(s): fb20683b7cb91622b639b05e8b324d13edc72522
Signing key:
Tree: b53c0788e001dc55801b620adae14719b1a02803
File Lines added Lines deleted
npv/audio/filt/public/code.frag.c 3 2
npv/audio/filt/public/state.frag.h 1 1
npv/config.h 3 1
npv/pkt_q/public/code.frag.c 2 2
npv/public/code.frag.c 11 0
File npv/audio/filt/public/code.frag.c changed (mode: 100644) (index 7cb3f17..bee9fd7)
... ... STATIC u8 filt_push_dec_set(int *new_chans_n, uint64_t *new_chans_layout,
50 50 avutil_audio_set_ref_t *save; avutil_audio_set_ref_t *save;
51 51
52 52 save = a[0]; save = a[0];
53 avutil_audio_set_unref(save);
53 54 memmove(&a[0], &a[1], sizeof(*a) memmove(&a[0], &a[1], sizeof(*a)
54 * (npv_audio_dec_sets_p.n - 1));
55 a[npv_audio_dec_sets_p.n - 1] = save;
55 * (npv_audio_dec_sets_p.n_max - 1));
56 a[npv_audio_dec_sets_p.n_max - 1] = save;
56 57 } }
57 58 npv_audio_dec_sets_p.n--; npv_audio_dec_sets_p.n--;
58 59 r8 = PUSHED_ONE_SET; r8 = PUSHED_ONE_SET;
File npv/audio/filt/public/state.frag.h changed (mode: 100644) (index 2e885e0..3c8d650)
... ... STATIC struct {
9 9
10 10 double vol; double vol;
11 11 bool muted; bool muted;
12 /* we will need query some output props from the filte */
12 /* we will need to query some output props from the filt */
13 13 avfilter_filt_ctx_t *abufsink_ctx; avfilter_filt_ctx_t *abufsink_ctx;
14 14 } filt_p; } filt_p;
File npv/config.h changed (mode: 100644) (index fea4c64..4103b09)
... ... STATIC void npv_cmd_pause(void);
30 30 STATIC void npv_cmd_fullscreen_toggle(void); STATIC void npv_cmd_fullscreen_toggle(void);
31 31 #ifdef NPV_DEBUG #ifdef NPV_DEBUG
32 32 STATIC void npv_cmd_debug_toggle(void); STATIC void npv_cmd_debug_toggle(void);
33 STATIC void npv_cmd_debug_stats(void);
33 34 #endif #endif
34 35 /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
35 36 /* for documentation and example */ /* for documentation and example */
 
... ... struct npv_x11_bind_t npv_x11_binds[] = {
58 59 X11_BIND(0x43, "f1", npv_cmd_osd_timer_toggle), X11_BIND(0x43, "f1", npv_cmd_osd_timer_toggle),
59 60 X11_BIND(0x5f, "f11", npv_cmd_fullscreen_toggle), X11_BIND(0x5f, "f11", npv_cmd_fullscreen_toggle),
60 61 #ifdef NPV_DEBUG #ifdef NPV_DEBUG
61 X11_BIND(0x60, "f12", npv_cmd_debug_toggle)
62 X11_BIND(0x4c, "f10", npv_cmd_debug_stats),
63 X11_BIND(0x60, "f12", npv_cmd_debug_toggle),
62 64 #endif #endif
63 65 }; };
64 66 #undef X11_BIND #undef X11_BIND
File npv/pkt_q/public/code.frag.c changed (mode: 100644) (index ce11e63..4e81634)
... ... STATIC void deq(struct pkt_q_t *this)
21 21 avcodec_pkt_ref_t *save; avcodec_pkt_ref_t *save;
22 22
23 23 save = this->q[0]; save = this->q[0];
24 memmove(&this->q[0], &this->q[1], (this->n - 1)
24 memmove(&this->q[0], &this->q[1], (this->n_max - 1)
25 25 * sizeof(this->q[0])); * sizeof(this->q[0]));
26 this->q[this->n - 1] = save;
26 this->q[this->n_max - 1] = save;
27 27 } }
28 28 this->n--; this->n--;
29 29 } }
File npv/public/code.frag.c changed (mode: 100644) (index 7fded40..fe4665e)
... ... STATIC void exit_ok(u8 *fmt, ...)
86 86 va_end(ap); va_end(ap);
87 87 exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
88 88 } }
89 #ifdef NPV_DEBUG
90 STATIC void npv_cmd_debug_stats(void)
91 {
92 perr("DEBUG:STATS:pipeline:limits:pkts:audio_bytes_n=%lu/%lu:video_bytes_n=%lu/%lu\n", npv_pipeline_limits_p.pkts.audio_bytes_n, npv_pipeline_limits_p.pkts.limit.audio_bytes_n, npv_pipeline_limits_p.pkts.video_bytes_n, npv_pipeline_limits_p.pkts.limit.video_bytes_n);
93 perr("DEBUG:STATS:video:pkts=%u/%u\n", npv_video_pkt_q_p->n, npv_video_pkt_q_p->n_max);
94 perr("DEBUG:STATS:audio:pkts=%u/%u\n", npv_audio_pkt_q_p->n, npv_audio_pkt_q_p->n_max);
95 perr("DEBUG:STATS:video:frames %u/%u\n", npv_video_dec_frs_p.n, npv_video_dec_frs_p.n_max);
96 perr("DEBUG:STATS:audio:sets %u/%u\n", npv_audio_dec_sets_p.n, npv_audio_dec_sets_p.n_max);
97 perr("DEBUG:STATS:video:aspect_ratio=%ux%u\n", npv_video_aspect_ratio.width, npv_video_aspect_ratio.height);
98 }
99 #endif
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanmp

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanmp

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanmp

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main