Skip to content

Zig bindings for libVLC media framework.

License

Notifications You must be signed in to change notification settings

kassane/libvlc-zig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libvlc-zig logo

Build Linux status Build MacOS status Build MinGW status BSD 2 Clause license GitHub contributors

libvlc-zig

Zig bindings for libVLC media framework. Some of the features provided by libVLC include the ability to play local files and network streams, as well as to transcode media content into different formats. It also provides support for a wide range of codecs, including popular formats like H.264, MPEG-4, and AAC.

Requirements

How to use

Example

$> zig build run -Doptimize=ReleaseSafe # print-version (default)
$> zig build run -DExample="cliPlayer-{c,cpp,zig}" -Doptimize=ReleaseSafe -- -i /path/multimedia_file

How to contribute to the libvlc-zig project?

Read Contributing.

FAQ

Q: Why isn't libvlc-zig licensed under LGPLv2.1?

A: The decision to license libvlc-zig under the BSD-2 clause was made by the author of the project. This license was chosen because it allows for more permissive use and distribution of the code, while still ensuring that the original author receives credit for their work.

libvlc-zig respects the original LGPLv2.1 (Lesser General Public License) license of the VLC project.

Q: Are you connected to the developers of the original project?

A: No, the author of libvlc-zig is not part of the VideoLAN development team. They are simply interested in being part of the VLC community and contributing to its development.

Q: What is the main goal of this project?

A: The main goal of libvlc-zig is to provide a set of bindings for the VLC media player's libvlc library that are written in the Zig programming language. The project aims to provide a more modern and safe way to interface with the library, while maintaining compatibility with existing code written in C and C++.

Q: Does libvlc-zig aim to replace libvlc?

A: No, libvlc-zig does not aim to replace libvlc. Instead, it provides an alternative way to interface with the library that may be more suitable for Zig developers.

Q: Can I use libvlc-zig in my project?

A: Yes, you can use libvlc-zig in your project as long as you comply with the terms of the BSD-2 clause license. This includes giving credit to the original author of the code.

Q: Does libvlc-zig support all of the features of libvlc?

A: libvlc-zig aims to provide bindings for all of the features of libvlc, but it may not be complete or up-to-date with the latest version of the library. If you encounter any missing features or bugs, please report them to the project's GitHub issues page.

Q: What programming languages are compatible with libvlc-zig?

A: libvlc-zig provides bindings for the Zig programming language, but it can also be used with C and C++ projects that use the libvlc library.

License

BSD 2-Clause License

Copyright (c) 2022, Matheus Catarino França

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.