+2007-07-18 Stefan Kost <ensonic@users.sf.net>
+
+ * docs/plugins/Makefile.am:
+ * docs/plugins/gst-plugins-good-plugins-docs.sgml:
+ * docs/plugins/gst-plugins-good-plugins-sections.txt:
+ * docs/plugins/inspect/plugin-jpeg.xml:
+ * docs/plugins/inspect/plugin-png.xml:
+ * ext/jpeg/gstjpegdec.c:
+ * ext/libpng/gstpngdec.c: (gst_pngdec_task),
+ (gst_pngdec_sink_setcaps):
+ More docs. More logs in pngdec.
+
2007-07-17 Stefan Kost <ensonic@users.sf.net>
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init):
$(top_srcdir)/ext/jpeg/gstjpegenc.h \
$(top_srcdir)/ext/jpeg/gstsmokedec.h \
$(top_srcdir)/ext/jpeg/gstsmokeenc.h \
+ $(top_srcdir)/ext/libpng/gstpngdec.h \
+ $(top_srcdir)/ext/libpng/gstpngenc.h \
$(top_srcdir)/ext/taglib/gstapev2mux.h \
$(top_srcdir)/ext/taglib/gstid3v2mux.h \
$(top_srcdir)/ext/taglib/gsttaglibmux.h \
$(top_srcdir)/gst/rtsp/gstrtspsrc.h \
$(top_srcdir)/gst/udp/gstmultiudpsink.h \
$(top_srcdir)/gst/udp/gstudpsrc.h \
- $(top_srcdir)/gst/videocrop/gstvideocrop.h \
+ $(top_srcdir)/gst/videocrop/gstvideocrop.h \
$(top_srcdir)/gst/videofilter/gstvideobalance.h \
$(top_srcdir)/gst/videofilter/gstvideoflip.h \
$(top_srcdir)/gst/videomixer/videomixer.c \
- $(top_srcdir)/sys/waveform/gstwaveformsink.h \
- $(top_srcdir)/ext/wavpack/gstwavpackdec.h \
- $(top_srcdir)/ext/wavpack/gstwavpackenc.h \
- $(top_srcdir)/ext/wavpack/gstwavpackparse.h \
+ $(top_srcdir)/sys/waveform/gstwaveformsink.h \
+ $(top_srcdir)/ext/wavpack/gstwavpackdec.h \
+ $(top_srcdir)/ext/wavpack/gstwavpackenc.h \
+ $(top_srcdir)/ext/wavpack/gstwavpackparse.h \
$(top_srcdir)/gst/wavparse/gstwavparse.h \
$(top_srcdir)/sys/directdraw/gstdirectdrawsink.h \
$(top_srcdir)/sys/directsound/gstdirectsoundsink.h \
<xi:include href="xml/element-osxaudiosrc.xml" />
<xi:include href="xml/element-osxvideosink.xml" />
<xi:include href="xml/element-progressreport.xml" />
+ <xi:include href="xml/element-pngenc.xml" />
+ <xi:include href="xml/element-pngdec.xml" />
<xi:include href="xml/element-qtdemux.xml" />
<xi:include href="xml/element-rtspsrc.xml" />
<xi:include href="xml/element-rtpdec.xml" />
<SECTION>
<FILE>element-alphacolor</FILE>
-GstAlphaColor
<TITLE>alphacolor</TITLE>
+GstAlphaColor
<SUBSECTION Standard>
GstAlphaColorClass
GST_ALPHA_COLOR
<SECTION>
<FILE>element-apedemux</FILE>
-GstApeDemux
<TITLE>apedemux</TITLE>
+GstApeDemux
<SUBSECTION Standard>
GstApeDemuxClass
GST_APE_DEMUX
<SECTION>
<FILE>element-apev2mux</FILE>
-GstApev2Mux
<TITLE>apev2mux</TITLE>
+GstApev2Mux
<SUBSECTION Standard>
GstApev2MuxClass
GST_APEV2_MUX
<SECTION>
<FILE>element-audiopanorama</FILE>
-GstAudioPanorama
<TITLE>audiopanorama</TITLE>
+GstAudioPanorama
<SUBSECTION Standard>
GstAudioPanoramaClass
GST_AUDIO_PANORAMA
<SECTION>
<FILE>element-audioinvert</FILE>
-GstAudioInvert
<TITLE>audioinvert</TITLE>
+GstAudioInvert
<SUBSECTION Standard>
GstAudioInvertClass
GST_AUDIO_INVERT
<SECTION>
<FILE>element-audioamplify</FILE>
-GstAudioAmplify
<TITLE>audioamplify</TITLE>
+GstAudioAmplify
<SUBSECTION Standard>
GstAudioAmplifyClass
GST_AUDIO_AMPLIFY
<SECTION>
<FILE>element-audiodynamic</FILE>
-GstAudioDynamic
<TITLE>audiodynamic</TITLE>
+GstAudioDynamic
<SUBSECTION Standard>
GstAudioDynamicClass
GST_AUDIO_DYNAMIC
<SECTION>
<FILE>element-autoaudiosink</FILE>
-GstAutoAudioSink
<TITLE>autoaudiosink</TITLE>
+GstAutoAudioSink
<SUBSECTION Standard>
GstAutoAudioSinkClass
GST_TYPE_AUTO_AUDIO_SINK
<SECTION>
<FILE>element-autovideosink</FILE>
-GstAutoVideoSink
<TITLE>autovideosink</TITLE>
+GstAutoVideoSink
<SUBSECTION Standard>
GstAutoVideoSinkClass
GST_TYPE_AUTO_VIDEO_SINK
<SECTION>
<FILE>element-avidemux</FILE>
-GstAviDemux
<TITLE>avidemux</TITLE>
+GstAviDemux
<SUBSECTION Standard>
GstAviDemuxClass
GST_TYPE_AVI_DEMUX
<SECTION>
<FILE>element-avimux</FILE>
-GstAviMux
<TITLE>avimux</TITLE>
+GstAviMux
<SUBSECTION Standard>
GstAviMuxClass
GST_TYPE_AVI_MUX
<SECTION>
<FILE>element-cairotimeoverlay</FILE>
-GstCairoTimeOverlay
<TITLE>cairotimeoverlay</TITLE>
+GstCairoTimeOverlay
<SUBSECTION Standard>
GstCairoTimeOverlayClass
GST_TYPE_CAIRO_TIME_OVERLAY
<SECTION>
<FILE>element-cmmldec</FILE>
-GstCmmlDec
<TITLE>cmmldec</TITLE>
+GstCmmlDec
<SUBSECTION Standard>
GstCmmlDecClass
GST_TYPE_CMML_DEC
<SECTION>
<FILE>element-cmmlenc</FILE>
-GstCmmlEnc
<TITLE>cmmlenc</TITLE>
+GstCmmlEnc
<SUBSECTION Standard>
GstCmmlEncClass
GST_TYPE_CMML_ENC
<SECTION>
<FILE>element-cdiocddasrc</FILE>
-GstCdioCddaSrc
<TITLE>cdiocddasrc</TITLE>
+GstCdioCddaSrc
<SUBSECTION Standard>
GstCdioCddaSrcClass
GST_TYPE_CDIO_CDDA_SRC
<SECTION>
<FILE>element-directdrawsink</FILE>
-GstDirectDrawSink
<TITLE>directdrawsink</TITLE>
+GstDirectDrawSink
<SUBSECTION Standard>
GstDirectDrawSinkClass
</SECTION>
<SECTION>
<FILE>element-directsoundsink</FILE>
-GstDirectSoundSink
<TITLE>directsoundsink</TITLE>
+GstDirectSoundSink
<SUBSECTION Standard>
GstDirectSoundSinkClass
</SECTION>
<SECTION>
<FILE>element-dvdec</FILE>
-GstDVDec
<TITLE>dvdec</TITLE>
+GstDVDec
<SUBSECTION Standard>
GstDVDecClass
GST_TYPE_DVDEC
<SECTION>
<FILE>element-dvdemux</FILE>
-GstDVDemux
<TITLE>dvdemux</TITLE>
+GstDVDemux
<SUBSECTION Standard>
GstDVDemuxClass
GST_TYPE_DVDEMUX
<SECTION>
<FILE>element-esdsink</FILE>
-GstEsdSink
<TITLE>esdsink</TITLE>
+GstEsdSink
<SUBSECTION Standard>
GstEsdSinkClass
GST_TYPE_ESDSINK
<SECTION>
<FILE>element-flacdec</FILE>
-GstFlacDec
<TITLE>flacdec</TITLE>
+GstFlacDec
<SUBSECTION Standard>
GstFlacDecClass
GST_TYPE_FLAC_DEC
<SECTION>
<FILE>element-goom</FILE>
-GstGoom
<TITLE>goom</TITLE>
+GstGoom
<SUBSECTION Standard>
GstGoomClass
GOOM_SAMPLES
<SECTION>
<FILE>element-halaudiosink</FILE>
-GstHalAudioSink
<TITLE>halaudiosink</TITLE>
+GstHalAudioSink
<SUBSECTION Standard>
GstHalAudioSinkClass
GST_TYPE_HAL_AUDIO_SINK
<SECTION>
<FILE>element-halaudiosrc</FILE>
-GstHalAudioSrc
<TITLE>halaudiosrc</TITLE>
+GstHalAudioSrc
<SUBSECTION Standard>
GstHalAudioSrcClass
GST_TYPE_HAL_AUDIO_SRC
<SECTION>
<FILE>element-icydemux</FILE>
-GstICYDemux
<TITLE>icydemux</TITLE>
+GstICYDemux
<SUBSECTION Standard>
GstICYDemuxClass
GST_TYPE_ICYDEMUX
<SECTION>
<FILE>element-id3demux</FILE>
-GstID3Demux
<TITLE>id3demux</TITLE>
+GstID3Demux
<SUBSECTION Standard>
GstID3DemuxClass
GST_TYPE_ID3DEMUX
<SECTION>
<FILE>element-id3v2mux</FILE>
-GstId3v2Mux
<TITLE>id3v2mux</TITLE>
+GstId3v2Mux
<SUBSECTION Standard>
GstId3v2MuxClass
GST_TYPE_ID3V2_MUX
<SECTION>
<FILE>element-jpegdec</FILE>
+<TITLE>jpegdec</TITLE>
GstJpegDec
GstJpegDecErrorMgr
GstJpegDecSourceMgr
-<TITLE>jpegdec</TITLE>
<SUBSECTION Standard>
GstJpegDecClass
GST_JPEG_DEC
<SECTION>
<FILE>element-level</FILE>
-GstLevel
<TITLE>level</TITLE>
+GstLevel
<SUBSECTION Standard>
GstLevelClass
GST_TYPE_LEVEL
<SECTION>
<FILE>element-multipartmux</FILE>
-GstMultipartMux
<TITLE>multipartmux</TITLE>
+GstMultipartMux
<SUBSECTION Standard>
GstMultipartMuxClass
GST_TYPE_MULTIPART_MUX
<SECTION>
<FILE>element-multipartdemux</FILE>
-GstMultipartDemux
<TITLE>multipartdemux</TITLE>
+GstMultipartDemux
<SUBSECTION Standard>
GstMultipartDemuxClass
GST_TYPE_MULTIPART_DEMUX
<SECTION>
<FILE>element-multiudpsink</FILE>
+<TITLE>multiudpsink</TITLE>
GstUDPClient
GstMultiUDPSink
-<TITLE>multiudpsink</TITLE>
<SUBSECTION Standard>
GstMultiUDPSinkClass
gst_multiudpsink_add
<SECTION>
<FILE>element-ossmixer</FILE>
-GstOssMixerElement
<TITLE>ossmixer</TITLE>
+GstOssMixerElement
<SUBSECTION Standard>
GstOssMixerElementClass
GST_OSS_MIXER_ELEMENT
<SECTION>
<FILE>element-osssink</FILE>
-GstOssSink
<TITLE>osssink</TITLE>
+GstOssSink
<SUBSECTION Standard>
GstOssSinkClass
GST_TYPE_OSSSINK
<SECTION>
<FILE>element-osssrc</FILE>
-GstOssSrc
<TITLE>osssrc</TITLE>
+GstOssSrc
<SUBSECTION Standard>
GstOssSrcClass
GST_TYPE_OSS_SRC
<SECTION>
<FILE>element-osxaudiosink</FILE>
-GstOsxAudioSink
<TITLE>osxaudiosink</TITLE>
+GstOsxAudioSink
<SUBSECTION Standard>
GstOsxAudioSinkClass
GST_TYPE_OSX_AUDIO_SINK
<SECTION>
<FILE>element-osxaudiosrc</FILE>
-GstOsxAudioSrc
<TITLE>osxaudiosrc</TITLE>
+GstOsxAudioSrc
<SUBSECTION Standard>
GstOsxAudioSrcClass
GST_TYPE_OSX_AUDIO_SINK
<SECTION>
<FILE>element-osxvideosink</FILE>
-GstOSXVideoSink
<TITLE>osxvideosink</TITLE>
+GstOSXVideoSink
<SUBSECTION Standard>
GstOSXVideoSinkClass
<SUBSECTION Private>
</SECTION>
<SECTION>
+<FILE>element-pngdec</FILE>
+<TITLE>pngdec</TITLE>
+GstPngDec
+GstPngDecErrorMgr
+GstPngDecSourceMgr
+<SUBSECTION Standard>
+GstPngDecClass
+GST_PNG_DEC
+GST_IS_PNG_DEC
+GST_TYPE_PNG_DEC
+GST_PNG_DEC_CLASS
+GST_IS_PNG_DEC_CLASS
+gst_png_dec_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-pngenc</FILE>
+<TITLE>pngenc</TITLE>
+GstPngEnc
+<SUBSECTION Standard>
+GstPngEncClass
+GST_PNGENC
+GST_IS_PNGENC
+GST_TYPE_PNGENC
+GST_PNGENC_CLASS
+GST_IS_PNGENC_CLASS
+gst_pngenc_get_type
+</SECTION>
+
+<SECTION>
<FILE>element-progressreport</FILE>
-GstProgressReport
<TITLE>progressreport</TITLE>
+GstProgressReport
<SUBSECTION Standard>
GstProgressReportClass
GST_TYPE_PROGRESS_REPORT
<SECTION>
<FILE>element-qtdemux</FILE>
-GstQTDemux
<TITLE>qtdemux</TITLE>
+GstQTDemux
<SUBSECTION Standard>
GstQTDemuxClass
</SECTION>
<SECTION>
<FILE>element-rtspsrc</FILE>
+<TITLE>rtspsrc</TITLE>
RTSPLowerTrans
GstRTSPSrc
-<TITLE>rtspsrc</TITLE>
<SUBSECTION Standard>
gst_rtspsrc_send
GstRTSPStream
<SECTION>
<FILE>element-rtpdec</FILE>
-GstRTPDec
<TITLE>rtpdec</TITLE>
+GstRTPDec
<SUBSECTION Standard>
GstRTPDecClass
GstRTPDecSession
<SECTION>
<FILE>element-smokedec</FILE>
-GstSmokeDec
<TITLE>smokedec</TITLE>
+GstSmokeDec
<SUBSECTION Standard>
GstSmokeDecClass
GST_SMOKEDEC
<SECTION>
<FILE>element-smokeenc</FILE>
-GstSmokeEnc
<TITLE>smokeenc</TITLE>
+GstSmokeEnc
<SUBSECTION Standard>
GstSmokeEncClass
GST_SMOKEENC
<SECTION>
<FILE>element-taglibmux</FILE>
-GstTagLibMux
<TITLE>taglibmux</TITLE>
+GstTagLibMux
<SUBSECTION Standard>
GstTagLibMuxClass
GST_TYPE_TAG_LIB_MUX
gst_tag_lib_mux_get_type
</SECTION>
-
<SECTION>
<FILE>element-udpsrc</FILE>
-GstUDPSrc
<TITLE>udpsrc</TITLE>
+GstUDPSrc
<SUBSECTION Standard>
GstUDPSrcClass
GST_UDPSRC
<SECTION>
<FILE>element-videocrop</FILE>
-GstVideoCrop
<TITLE>videocrop</TITLE>
+GstVideoCrop
<SUBSECTION Standard>
GstVideoCropClass
</SECTION>
<SECTION>
<FILE>element-videoflip</FILE>
+<TITLE>videoflip</TITLE>
GstVideoFlip
GstVideoFlipMethod
-<TITLE>videoflip</TITLE>
<SUBSECTION Standard>
GstVideoFlipClass
GST_VIDEO_FLIP
<SECTION>
<FILE>element-videobalance</FILE>
-GstVideoBalance
<TITLE>videobalance</TITLE>
+GstVideoBalance
<SUBSECTION Standard>
GstVideoBalanceClass
GST_VIDEO_BALANCE
<SECTION>
<FILE>element-videomixer</FILE>
+<TITLE>videomixer</TITLE>
GstVideoMixer
GstVideoMixerBackground
-<TITLE>videomixer</TITLE>
<SUBSECTION Standard>
GstVideoMixerClass
GST_VIDEO_MIXER
<SECTION>
<FILE>element-waveformsink</FILE>
-GstWaveFormSink
<TITLE>waveformsink</TITLE>
+GstWaveFormSink
<SUBSECTION Standard>
GstWaveFormSinkClass
</SECTION>
<SECTION>
<FILE>element-wavpackdec</FILE>
-GstWavpackDec
<TITLE>wavpackdec</TITLE>
+GstWavpackDec
<SUBSECTION Standard>
GstWavpackDecClass
</SECTION>
<SECTION>
<FILE>element-wavpackenc</FILE>
-GstWavpackEnc
<TITLE>wavpackenc</TITLE>
+GstWavpackEnc
<SUBSECTION Standard>
GstWavpackEncClass
</SECTION>
<SECTION>
<FILE>element-wavpackparse</FILE>
-GstWavpackParse
<TITLE>wavpackparse</TITLE>
+GstWavpackParse
<SUBSECTION Standard>
GstWavpackParseClass
</SECTION>
<SECTION>
<FILE>element-wavparse</FILE>
-GstWavParse
<TITLE>wavparse</TITLE>
+GstWavParse
<SUBSECTION Standard>
GstWavParseClass
GstWavParseState
<SECTION>
<FILE>element-v4l2src</FILE>
-GstV4l2Src
<TITLE>v4l2src</TITLE>
+GstV4l2Src
<SUBSECTION Standard>
GST_V4L2_MAX_BUFFERS
GST_V4L2_MIN_BUFFERS
<SECTION>
<FILE>element-ximagesrc</FILE>
-GstXImageSrc
<TITLE>ximagesrc</TITLE>
+GstXImageSrc
<SUBSECTION Standard>
GstXImageSrcClass
GST_XIMAGE_SRC
<author>Wim Taymans <wim@fluendo.com></author>
<pads>
<caps>
- <name>src</name>
- <direction>source</direction>
- <presence>always</presence>
- <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 8, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
<element>
<author>Wim Taymans <wim.taymans@tvd.be></author>
<pads>
<caps>
- <name>sink</name>
- <direction>sink</direction>
- <presence>always</presence>
- <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
<element>
<author>Wim Taymans <wim@fluendo.com></author>
<pads>
<caps>
- <name>src</name>
- <direction>source</direction>
- <presence>always</presence>
- <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-smoke, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
<element>
<author>Wim Taymans <wim@fluendo.com></author>
<pads>
<caps>
- <name>sink</name>
- <direction>sink</direction>
- <presence>always</presence>
- <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-smoke, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
</elements>
<author>Wim Taymans <wim@fluendo.com></author>
<pads>
<caps>
- <name>src</name>
- <direction>source</direction>
- <presence>always</presence>
- <details>video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>image/png</details>
</caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
<element>
<author>Jeremy SIMON <jsimon13@yahoo.fr></author>
<pads>
<caps>
- <name>sink</name>
- <direction>sink</direction>
- <presence>always</presence>
- <details>video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
- </caps>
- <caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>image/png, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
</pads>
</element>
</elements>
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:element-jpegdec
+ *
+ * Decodes jpeg images. If there is no framerate set on sink caps, it sends EOS
+ * after the first picture.
+ */
#ifdef HAVE_CONFIG_H
#include "config.h"
*
*/
+/**
+ * SECTION:element-pngdec
+ *
+ * Decodes png images. If there is no framerate set on sink caps, it sends EOS
+ * after the first picture.
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
pngdec = GST_PNGDEC (GST_OBJECT_PARENT (pad));
+ GST_LOG_OBJECT (pngdec, "read frame");
+
/* Let libpng come back here on error */
if (setjmp (png_jmpbuf (pngdec->png))) {
ret = GST_FLOW_ERROR;
return;
pause:
- {
- GST_INFO_OBJECT (pngdec, "pausing task, reason %s",
- gst_flow_get_name (ret));
- gst_pad_pause_task (pngdec->sinkpad);
- if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
- GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
- (_("Internal data stream error.")),
- ("stream stopped, reason %s", gst_flow_get_name (ret)));
- gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
- }
+ GST_INFO_OBJECT (pngdec, "pausing task, reason %s", gst_flow_get_name (ret));
+ gst_pad_pause_task (pngdec->sinkpad);
+ if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
+ gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
+ GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
+ (_("Internal data stream error.")),
+ ("stream stopped, reason %s", gst_flow_get_name (ret)));
}
}
pngdec->fps_n = num;
pngdec->fps_d = denom;
} else {
+ GST_DEBUG_OBJECT (pngdec, "single picture input");
pngdec->framed = FALSE;
pngdec->fps_n = 0;
pngdec->fps_d = 1;