diff --git a/Basic+tutorial+3+Dynamic+pipelines.markdown b/Basic+tutorial+3+Dynamic+pipelines.markdown index 4ec23f0d17..d618f0a1f6 100644 --- a/Basic+tutorial+3+Dynamic+pipelines.markdown +++ b/Basic+tutorial+3+Dynamic+pipelines.markdown @@ -451,26 +451,12 @@ start until you bring the pipeline to the PLAYING state. We will introduce here the rest of states and their meaning. There are 4 states in GStreamer: - - - - - - - - - - - - - - - - - - - -

NULL

the NULL state or initial state of an element.

READY

the element is ready to go to PAUSED.

PAUSED

the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block.

PLAYING

the element is PLAYING, the clock is running and the data is flowing.

+| State | Description | +|-----------|--------------------| +| `NULL` | the NULL state or initial state of an element. | +| `READY` | the element is ready to go to PAUSED. | +| `PAUSED` | the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block. | +| `PLAYING` | the element is PLAYING, the clock is running and the data is flowing. | You can only move between adjacent ones, this is, you can't go from NULL to PLAYING, you have to go through the intermediate READY and PAUSED diff --git a/Basic+tutorial+7+Multithreading+and+Pad+Availability.markdown b/Basic+tutorial+7+Multithreading+and+Pad+Availability.markdown index 5d0ddb848d..9517595236 100644 --- a/Basic+tutorial+7+Multithreading+and+Pad+Availability.markdown +++ b/Basic+tutorial+7+Multithreading+and+Pad+Availability.markdown @@ -84,7 +84,7 @@ in the SDK installation). **basic-tutorial-7.c** -``` theme: Default; brush: cpp; gutter: true +``` #include int main(int argc, char *argv[]) { diff --git a/Basic+tutorial+8+Short-cutting+the+pipeline.markdown b/Basic+tutorial+8+Short-cutting+the+pipeline.markdown index abfd2cf33b..0db77a92f5 100644 --- a/Basic+tutorial+8+Short-cutting+the+pipeline.markdown +++ b/Basic+tutorial+8+Short-cutting+the+pipeline.markdown @@ -332,29 +332,18 @@ int main(int argc, char *argv[]) { } ``` - - - - - - - -
-
-Need help? (Click to expand) -
-
-

If you need help to compile this code, refer to the Building the tutorials section for your platform: Linux, Mac OS X or Windows, or use this specific command on Linux:

-
-
-

gcc basic-tutorial-8.c -o basic-tutorial-8 `pkg-config --cflags --libs gstreamer-1.0 gst-audio-1.0`

-
-
-

If you need help to run this code, refer to the Running the tutorials section for your platform: Linux, Mac OS X or Windows

-

This tutorial plays an audible tone for varying frequency through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so.

-

Required libraries: gstreamer-0.10

-
-
+> ![Information](images/icons/emoticons/information.png) +> Need help? +> +> If you need help to compile this code, refer to the **Building the tutorials** section for your platform: [Linux](Installing+on+Linux.markdown#InstallingonLinux-Build), [Mac OS X](Installing+on+Mac+OS+X.markdown#InstallingonMacOSX-Build) or [Windows](Installing+on+Windows.markdown#InstallingonWindows-Build), or use this specific command on Linux: +> +> `` gcc basic-tutorial-8.c -o basic-tutorial-8 `pkg-config --cflags --libs gstreamer-1.0 gst-audio-1.0` `` +> +>If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](Installing+on+Linux.markdown#InstallingonLinux-Run), [Mac OS X](Installing+on+Mac+OS+X.markdown#InstallingonMacOSX-Run) or [Windows](Installing+on+Windows.markdown#InstallingonWindows-Run). +> +> This tutorial plays an audible tone for varying frequency through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so. +> +> Required libraries: `gstreamer-1.0` ## Walkthrough @@ -366,7 +355,7 @@ Always Pads, and manually link the Request Pads of the `tee` element. Regarding the configuration of the `appsrc` and `appsink` elements: -``` first-line: 159; theme: Default; brush: cpp; gutter: true +``` /* Configure appsrc */ audio_caps_text = g_strdup_printf (AUDIO_CAPS, SAMPLE_RATE); audio_caps = gst_caps_from_string (audio_caps_text); @@ -387,7 +376,7 @@ fired by `appsrc` when its internal queue of data is running low or almost full, respectively. We will use these signals to start and stop (respectively) our signal generation process. -``` first-line: 166; theme: Default; brush: cpp; gutter: true +``` /* Configure appsink */ g_object_set (data.app_sink, "emit-signals", TRUE, "caps", audio_caps, NULL); g_signal_connect (data.app_sink, "new-sample", G_CALLBACK (new_sample), &data); @@ -404,7 +393,7 @@ Starting the pipeline, waiting for messages and final cleanup is done as usual. Let's review the callbacks we have just registered: -``` first-line: 67; theme: Default; brush: cpp; gutter: true +``` /* This signal callback triggers when appsrc needs data. Here, we add an idle handler * to the mainloop to start pushing data into the appsrc */ static void start_feed (GstElement *source, guint size, CustomData *data) { @@ -433,7 +422,7 @@ We take note of the sourceid that `g_idle_add()` returns, so we can disable it later. -``` first-line: 76; theme: Default; brush: cpp; gutter: true +``` /* This callback triggers when appsrc has enough data and we can stop sending. * We remove the idle handler from the mainloop */ static void stop_feed (GstElement *source, CustomData *data) { @@ -450,7 +439,7 @@ enough so we stop pushing data. Here we simply remove the idle function by using `g_source_remove()` (The idle function is implemented as a `GSource`). -``` first-line: 22; theme: Default; brush: cpp; gutter: true +``` /* This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc. * The ide handler is added to the mainloop when appsrc requests us to start sending data (need-data signal) * and is removed when appsrc has enough data (enough-data signal). @@ -500,7 +489,7 @@ We will skip over the waveform generation, since it is outside the scope of this tutorial (it is simply a funny way of generating a pretty psychedelic wave). -``` first-line: 53; theme: Default; brush: cpp; gutter: true +``` /* Push the buffer into the appsrc */ g_signal_emit_by_name (data->app_source, "push-buffer", buffer, &ret); @@ -514,23 +503,23 @@ tutorial 1: Playbin2 usage](Playback+tutorial+1+Playbin2+usage.markdown)), and then `gst_buffer_unref()` it since we no longer need it. -``` first-line: 86; theme: Default; brush: cpp; gutter: true +``` /* The appsink has received a buffer */ -static void new_buffer (GstElement *sink, CustomData *data) { - GstBuffer *buffer; +static void new_sample (GstElement *sink, CustomData *data) { + GstSample *sample; /* Retrieve the buffer */ - g_signal_emit_by_name (sink, "pull-buffer", &buffer); - if (buffer) { + g_signal_emit_by_name (sink, "pull-sample", &sample); + if (sample) { /* The only thing we do in this example is print a * to indicate a received buffer */ g_print ("*"); - gst_buffer_unref (buffer); + gst_sample_unref (sample); } } ``` Finally, this is the function that gets called when the -`appsink` receives a buffer. We use the `pull-buffer` action signal to +`appsink` receives a buffer. We use the `pull-sample` action signal to retrieve the buffer and then just print some indicator on the screen. We can retrieve the data pointer using the `GST_BUFFER_DATA` macro and the data size using the `GST_BUFFER_SIZE` macro in `GstBuffer`. Remember diff --git a/Home.markdown b/Home.markdown index d3fdb88c62..592b7f01f5 100644 --- a/Home.markdown +++ b/Home.markdown @@ -9,6 +9,16 @@ Feel free to jump straight to the download section, start practicing with the tutorials, or read the F.A.Q. if you don’t know what this is all about. + +AA + +![](attachments/2424851.png) + +| test ![](attachments/2424851.png) bb | test2 | +|------|-------| +| aaa | bbb | +|------|-------| + @@ -18,7 +28,7 @@ all about. -
+

Download

Download and install the GStreamer SDK
diff --git a/Installing+for+Android+development.markdown b/Installing+for+Android+development.markdown index 98a6ecd24f..e562d1e462 100644 --- a/Installing+for+Android+development.markdown +++ b/Installing+for+Android+development.markdown @@ -282,47 +282,15 @@ GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) play #### List of categories and included plugins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CategoryIncluded plugins
GSTREAMER_PLUGINS_COREcoreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter
GSTREAMER_PLUGINS_PLAYBACKdecodebin playbin
GSTREAMER_PLUGINS_CODECSsubparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec
GSTREAMER_PLUGINS_VISlibvisual goom goom2k1 audiovisualizers
GSTREAMER_PLUGINS_EFFECTSalpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal
GSTREAMER_PLUGINS_NETrtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem
GSTREAMER_PLUGINS_CODECS_GPLassrender
GSTREAMER_PLUGINS_SYSeglglessink opensles amc
+| Category | Included plugins | +|--|--| +| `GSTREAMER_PLUGINS_CORE` | coreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter | +| `GSTREAMER_PLUGINS_PLAYBACK` | decodebin playbin | +| `GSTREAMER_PLUGINS_CODECS` | subparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec | +| `GSTREAMER_PLUGINS_VIS` | libvisual goom goom2k1 audiovisualizers | +| `GSTREAMER_PLUGINS_EFFECTS` | alpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal | +| `GSTREAMER_PLUGINS_NET` | rtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem | +| `GSTREAMER_PLUGINS_CODECS_GPL` | assrender | +| `GSTREAMER_PLUGINS_SYS` | eglglessink opensles amc | Build and run your application as explained in the **Building the tutorials** section. diff --git a/Installing+the+SDK.markdown b/Installing+the+SDK.markdown index 826359ff2d..11374bb350 100644 --- a/Installing+the+SDK.markdown +++ b/Installing+the+SDK.markdown @@ -2,6 +2,10 @@ ### Choose your platform +| | | +|-|-| +| aa | bb | + @@ -10,7 +14,7 @@ - - - - -

+

Linux

  • Ubuntu 12.04 (Precise Pangolin)
  • @@ -21,7 +25,7 @@
  • Fedora 17

______________________________________

+

Mac OS X

  • 10.6 (Snow Leopard)
  • @@ -29,7 +33,7 @@
  • 10.8 (Mountain Lion)

______________________________________

+

Microsoft Windows

  • Windows XP
  • @@ -53,7 +57,7 @@

+

Android

  • 2.3.1 Gingerbread and above
  • @@ -63,7 +67,7 @@

+

iOS

  • iOS 6 and above
  • diff --git a/attachments/2654239.png b/attachments/android.png similarity index 100% rename from attachments/2654239.png rename to attachments/android.png diff --git a/attachments/3539150.jpeg b/attachments/ios.jpeg similarity index 100% rename from attachments/3539150.jpeg rename to attachments/ios.jpeg diff --git a/attachments/1540162.png b/attachments/linux.png similarity index 100% rename from attachments/1540162.png rename to attachments/linux.png diff --git a/attachments/1540163.png b/attachments/mac.png similarity index 100% rename from attachments/1540163.png rename to attachments/mac.png diff --git a/attachments/1540164.png b/attachments/windows.png similarity index 100% rename from attachments/1540164.png rename to attachments/windows.png diff --git a/hotdoc.json b/hotdoc.json index 3f001f26db..a2c5b6a4b3 100644 --- a/hotdoc.json +++ b/hotdoc.json @@ -4,5 +4,6 @@ "index": "Home.markdown", "output": "built_doc", "project_name": "gstdotcom", - "sitemap": "sitemap.txt" -} \ No newline at end of file + "sitemap": "sitemap.txt", + "extra_assets": ["attachments", "images"] +}