ffpyplayer 4.5.0__tar.gz → 4.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/PKG-INFO +3 -1
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/__init__.py +1 -1
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/core.pyx +4 -4
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tools.pyx +13 -12
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer.egg-info/PKG-INFO +3 -1
- ffpyplayer-4.5.2/pyproject.toml +4 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/setup.py +3 -1
- ffpyplayer-4.5.0/pyproject.toml +0 -4
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/COPYING +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/README.rst +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/clib/misc.c +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/clib/misc.h +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/ff_consts.pxi +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/ffconfig.h +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/ffconfig.pxi +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/ffmpeg.pxi +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/inline_funcs.pxi +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/includes/sdl.pxi +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/pic.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/pic.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/__init__.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/clock.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/clock.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/core.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/decoder.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/decoder.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/frame_queue.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/frame_queue.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/player.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/player.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/queue.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/player/queue.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tests/__init__.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tests/common.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tests/test_pic.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tests/test_play.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/tests/test_write.py +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/threading.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/threading.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/writer.pxd +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer/writer.pyx +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer.egg-info/SOURCES.txt +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer.egg-info/dependency_links.txt +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/ffpyplayer.egg-info/top_level.txt +0 -0
- {ffpyplayer-4.5.0 → ffpyplayer-4.5.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ffpyplayer
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.2
|
|
4
4
|
Summary: A cython implementation of an ffmpeg based player.
|
|
5
5
|
Home-page: https://matham.github.io/ffpyplayer/
|
|
6
6
|
Author: Matthew Einhorn
|
|
@@ -16,6 +16,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
21
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
20
22
|
Classifier: Operating System :: Microsoft :: Windows
|
|
21
23
|
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
|
|
@@ -1616,7 +1616,7 @@ cdef class VideoState(object):
|
|
|
1616
1616
|
if self.audio_dev == -1:
|
|
1617
1617
|
return -1
|
|
1618
1618
|
|
|
1619
|
-
if not Mix_RegisterEffect(self.audio_dev, <void (*)(int, void *, int, void *) nogil>sdl_mixer_callback, NULL, self.self_id):
|
|
1619
|
+
if not Mix_RegisterEffect(self.audio_dev, <void (*)(int, void *, int, void *) noexcept nogil>sdl_mixer_callback, NULL, self.self_id):
|
|
1620
1620
|
return -1
|
|
1621
1621
|
|
|
1622
1622
|
ELSE:
|
|
@@ -1654,7 +1654,7 @@ cdef class VideoState(object):
|
|
|
1654
1654
|
wanted_spec.format = AUDIO_S16SYS
|
|
1655
1655
|
wanted_spec.silence = 0
|
|
1656
1656
|
wanted_spec.samples = FFMAX(AUDIO_MIN_BUFFER_SIZE, 2 << av_log2(wanted_spec.freq // AUDIO_MAX_CALLBACKS_PER_SEC))
|
|
1657
|
-
wanted_spec.callback = <void (*)(void *, uint8_t *, int) nogil>self.sdl_audio_callback
|
|
1657
|
+
wanted_spec.callback = <void (*)(void *, uint8_t *, int) noexcept nogil>self.sdl_audio_callback
|
|
1658
1658
|
wanted_spec.userdata = self.self_id
|
|
1659
1659
|
|
|
1660
1660
|
error = self.open_audio_device(&wanted_spec, &spec)
|
|
@@ -1869,7 +1869,7 @@ cdef class VideoState(object):
|
|
|
1869
1869
|
if codecpar.codec_type == AVMEDIA_TYPE_AUDIO:
|
|
1870
1870
|
self.auddec.decoder_abort(self.sampq)
|
|
1871
1871
|
IF USE_SDL2_MIXER:
|
|
1872
|
-
Mix_UnregisterEffect(self.audio_dev, <void (*)(int, void *, int, void *) nogil>sdl_mixer_callback)
|
|
1872
|
+
Mix_UnregisterEffect(self.audio_dev, <void (*)(int, void *, int, void *) noexcept nogil>sdl_mixer_callback)
|
|
1873
1873
|
Mix_HaltChannel(self.audio_dev)
|
|
1874
1874
|
Mix_FreeChunk(self.chunk)
|
|
1875
1875
|
self.chunk = NULL
|
|
@@ -1942,7 +1942,7 @@ cdef class VideoState(object):
|
|
|
1942
1942
|
av_log(NULL, AV_LOG_FATAL, b"Could not allocate context.\n");
|
|
1943
1943
|
return self.failed(AVERROR(ENOMEM), ic, &pkt)
|
|
1944
1944
|
#av_opt_set_int(ic, b"threads", 1, 0)
|
|
1945
|
-
ic.interrupt_callback.callback = <int (*)(void *)>self.decode_interrupt_cb
|
|
1945
|
+
ic.interrupt_callback.callback = <int (*)(void *) noexcept>self.decode_interrupt_cb
|
|
1946
1946
|
ic.interrupt_callback.opaque = self.self_id
|
|
1947
1947
|
|
|
1948
1948
|
if not av_dict_get(self.player.format_opts, b"scan_all_pmts", NULL, AV_DICT_MATCH_CASE):
|
|
@@ -78,17 +78,6 @@ the log.
|
|
|
78
78
|
'''
|
|
79
79
|
_loglevel_inverse = {v:k for k, v in loglevels.iteritems()}
|
|
80
80
|
|
|
81
|
-
codecs_enc = get_codecs(encode=True, video=True)
|
|
82
|
-
'''A list of all the codecs available for encoding video. '''
|
|
83
|
-
codecs_dec = get_codecs(decode=True, video=True, audio=True)
|
|
84
|
-
'''A list of all the codecs available for decoding video and audio. '''
|
|
85
|
-
pix_fmts = list_pixfmts()
|
|
86
|
-
'''A list of all the pixel formats available to ffmpeg. '''
|
|
87
|
-
formats_in = get_fmts(input=True)[0]
|
|
88
|
-
'''A list of all the formats (e.g. file formats) available for reading. '''
|
|
89
|
-
formats_out = get_fmts(output=True)[0]
|
|
90
|
-
'''A list of all the formats (e.g. file formats) available for writing. '''
|
|
91
|
-
|
|
92
81
|
cdef object _log_callback = None
|
|
93
82
|
cdef MTMutex _log_mutex= MTMutex(SDL_MT)
|
|
94
83
|
cdef int log_level = AV_LOG_WARNING
|
|
@@ -105,7 +94,7 @@ cdef void call_callback(char *line, int level) nogil:
|
|
|
105
94
|
with gil:
|
|
106
95
|
gil_call_callback(line, level)
|
|
107
96
|
|
|
108
|
-
cdef void _log_callback_func(void* ptr, int level, const char* fmt, va_list vl) nogil:
|
|
97
|
+
cdef void _log_callback_func(void* ptr, int level, const char* fmt, va_list vl) noexcept nogil:
|
|
109
98
|
cdef char line[2048]
|
|
110
99
|
if fmt == NULL or level > log_level:
|
|
111
100
|
return
|
|
@@ -278,6 +267,11 @@ cpdef get_codecs(
|
|
|
278
267
|
codec = av_codec_iterate(&iter_codec)
|
|
279
268
|
return sorted(codecs)
|
|
280
269
|
|
|
270
|
+
codecs_enc = get_codecs(encode=True, video=True)
|
|
271
|
+
'''A list of all the codecs available for encoding video. '''
|
|
272
|
+
codecs_dec = get_codecs(decode=True, video=True, audio=True)
|
|
273
|
+
'''A list of all the codecs available for decoding video and audio. '''
|
|
274
|
+
|
|
281
275
|
cdef list list_pixfmts():
|
|
282
276
|
cdef list fmts = []
|
|
283
277
|
cdef const AVPixFmtDescriptor *desc = NULL
|
|
@@ -288,6 +282,9 @@ cdef list list_pixfmts():
|
|
|
288
282
|
desc = av_pix_fmt_desc_next(desc)
|
|
289
283
|
return sorted(fmts)
|
|
290
284
|
|
|
285
|
+
pix_fmts = list_pixfmts()
|
|
286
|
+
'''A list of all the pixel formats available to ffmpeg. '''
|
|
287
|
+
|
|
291
288
|
cpdef get_fmts(int input=False, int output=False):
|
|
292
289
|
'''Returns the formats available in FFmpeg.
|
|
293
290
|
|
|
@@ -350,6 +347,10 @@ cpdef get_fmts(int input=False, int output=False):
|
|
|
350
347
|
fmts = sorted(fmts)
|
|
351
348
|
return fmts, full_names, exts
|
|
352
349
|
|
|
350
|
+
formats_in = get_fmts(input=True)[0]
|
|
351
|
+
'''A list of all the formats (e.g. file formats) available for reading. '''
|
|
352
|
+
formats_out = get_fmts(output=True)[0]
|
|
353
|
+
'''A list of all the formats (e.g. file formats) available for writing. '''
|
|
353
354
|
|
|
354
355
|
def get_format_codec(filename=None, fmt=None):
|
|
355
356
|
'''Returns the best codec associated with the file format. The format
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ffpyplayer
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.2
|
|
4
4
|
Summary: A cython implementation of an ffmpeg based player.
|
|
5
5
|
Home-page: https://matham.github.io/ffpyplayer/
|
|
6
6
|
Author: Matthew Einhorn
|
|
@@ -16,6 +16,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
21
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
20
22
|
Classifier: Operating System :: Microsoft :: Windows
|
|
21
23
|
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
|
|
@@ -376,7 +376,7 @@ with open('README.rst') as fh:
|
|
|
376
376
|
|
|
377
377
|
setup_requires = []
|
|
378
378
|
if declare_cython:
|
|
379
|
-
setup_requires.append('cython')
|
|
379
|
+
setup_requires.append('cython~=3.0.11')
|
|
380
380
|
|
|
381
381
|
setup(name='ffpyplayer',
|
|
382
382
|
version=ffpyplayer.__version__,
|
|
@@ -398,6 +398,8 @@ setup(name='ffpyplayer',
|
|
|
398
398
|
'Programming Language :: Python :: 3.9',
|
|
399
399
|
'Programming Language :: Python :: 3.10',
|
|
400
400
|
'Programming Language :: Python :: 3.11',
|
|
401
|
+
'Programming Language :: Python :: 3.12',
|
|
402
|
+
'Programming Language :: Python :: 3.13',
|
|
401
403
|
'Operating System :: MacOS :: MacOS X',
|
|
402
404
|
'Operating System :: Microsoft :: Windows',
|
|
403
405
|
'Operating System :: POSIX :: BSD :: FreeBSD',
|
ffpyplayer-4.5.0/pyproject.toml
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|