gst_client/lib.rs
1//! Rust client for [`GStreamer Daemon`][1] API.
2//!
3//! On official [`GStD API documentation`][2] page covered all use cases
4//! of the client.
5//!
6//! This client is defining API a little bit differently then official
7//! but it quite intuitive.
8//!
9//! The entry point is [`GstClient`] which encapsulate all communication logic.
10//!
11//! # Examples
12//!
13//! Create new client for `http://127.0.0.1:5000` host
14//! ```
15//! use gst_client::GstClient;
16//!
17//! let client = GstClient::default();
18//! ```
19//!
20//! Create client for specific address
21//! ```
22//! use gst_client::GstClient;
23//!
24//! let client = GstClient::build("http://127.0.0.1:5000")?;
25//! ```
26//!
27//! Perform operations with Pipeline
28//!
29//! ```
30//! use gst_client::GstClient;
31//!
32//! let client = GstClient::default();
33//! let new_pipeline = client.pipeline("new-pipeline").create("playbin")?;
34//! ```
35//! [1]: https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon
36//! [2]: https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon_-_C_API
37//! [`GstClient`]: client::GstClient
38#![allow(clippy::module_name_repetitions)]
39#![deny(
40 rustdoc::broken_intra_doc_links,
41 missing_debug_implementations,
42 nonstandard_style,
43 rust_2018_idioms,
44 trivial_casts,
45 trivial_numeric_casts,
46 unsafe_code
47)]
48#![warn(
49 deprecated_in_future,
50 missing_docs,
51 unreachable_pub,
52 unused_import_braces,
53 unused_labels,
54 unused_lifetimes,
55 unused_qualifications,
56 unused_results
57)]
58
59pub mod client;
60mod error;
61pub mod gstd_types;
62pub mod resources;
63
64pub use crate::{client::GstClient, error::Error, gstd_types::SuccessResponse};