Native Client

Pepper C++ API


The Pepper Plug-in API (PPAPI) lets Native Client modules communicate with the hosting browser and access system-level functions in a safe and portable way. For a brief description of Pepper see the Technical Overview.

Pepper has both a C API and a C++ API. These APIs are generally divided into two parts: functions that are implemented in the browser and that you call from your Native Client module, and functions that the browser invokes and that you must implement in your Native Client module.

To develop a Native Client module using a specific version of Pepper, you must download and use the corresponding SDK bundle. For example, to use Pepper 16 you must download and use the pepper_16 SDK bundle. Native Client modules compiled using a particular Pepper version will generally work in corresponding versions of Chrome and higher. For example, a module compiled using Pepper 16 will work in Chrome 16 and higher.

The reference documentation on this site includes both the C and C++ APIs for the most recent versions of Pepper. Before you read the reference documentation, we recommend that you read the Technical Overview and the Getting Started Tutorial.

Pepper 16

The Pepper 16 bundle/platform includes these new features:

  • the Pepper Fullscreen API
  • the Pepper Mouse Lock API

For additional information about Pepper 16, see the SDK release notes.

Pepper C++ API

The lowest level of Pepper is the C API, declared in the header files in include/ppapi/c. The C API represents the lowest level binary interface between a Native Client module and the browser.

The Pepper C++ API, declared in the header files in include/ppapi/cpp, is a wrapper around the C API. The C++ API provides a layer of abstraction and takes care of many details such as reference counting resources, thus making Pepper considerably easier to use.

Click the links below "Pepper C++ API" in the left navbar to view the C++ API by class or by file (all classes, functions, namespaces, and so on in audio.h, instance.h, url_loader.h, etc.).

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.