Warsaw Pakt is a software system for network-controlled media processing applications. The Warsaw Pakt project consists of a library for serialization of GObjects to XML, network components for publishing and accessing object spaces via multiple access methods (both in libpakt), a gstreamer module (gst) and an access shell program (pash). Its main purpose is to allow you to setup arbitrary gstreamer graphs on your local or a remote system, and modify it's parameters while running.
The target audience of this manual are "accessors", people who want to access a pakt server via an XML access method, eg from Flash or some scripting language. This manual introduces you to basic pakt functionality and documents the various objects you can instantiate and control.
Warsaw Pakt consists of a bunch of components that make up its functionality. As an accessor, you're probably most interested in pgstd, and the classes and messages that libpakt provides for any pakt server.
The pakt library (libpakt) provides basic pakt functionality: objects and functions for XML (de-)serialization, navigating around the object hierarchy, basic objects and GObject and GProperty wrappers, and networking classes. The accessible objects are documented in the p: namespace section ('p: namespace') of the reference part of this manual.
The generic pakt daemon listens on specified ports for connections from pakt clients (like 'pash'), and serves them with access to the server-side object space. The protocol is dependant on which 'modules' are loaded.
The generic pakt daemon ('paktd') acts on objects defined by the loaded modules. Currently there is only one module:
The GStreamer module (gst, libpaktgst.so) provides classes to interface pakt with GStreamer. The tags and their attributes are documented in 'gst: namespace'
pash, the pakt shell, is a commandline shell program that allows you to test, debug and experiment with a pakt server. It features readline-style tab expansion for the server's object space.