Commit graph

3542 commits

Author SHA1 Message Date
Sebastian Dröge
530279424f [MOVED FROM BAD 53/68] colorspace: Update generated ORC sources 2011-06-15 16:12:55 +02:00
Sebastian Dröge
45fc6162b5 [MOVED FROM BAD 52/68] colorspace: Inverse -base version check logic to actually make sense 2011-06-15 16:12:55 +02:00
Sebastian Dröge
660b1af2dc [MOVED FROM BAD 51/68] colorspace: Add support for IYU1 2011-06-15 16:12:55 +02:00
Sebastian Dröge
03d440668e [MOVED FROM BAD 50/68] colorspace: First version of YUV9 and YVU9 implementation 2011-06-15 16:12:55 +02:00
Sebastian Dröge
34cb2fa4a5 [MOVED FROM BAD 49/68] colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks 2011-06-15 16:12:55 +02:00
Tim-Philipp Müller
e857835fe8 [MOVED FROM BAD 48/68] colorspace: fix build with current git of gst-plugins-base
ifdef tests don't work so well if we define them in the code
above in case they aren't defined.
2011-06-15 16:12:55 +02:00
Sebastian Dröge
3c106bad31 [MOVED FROM BAD 47/68] colorspace: Add support for 8 bit paletted RGB
This needs the 8 bit paletted support from -base
which will be committed after release. Without this
the 8 bit parts are disabled.
2011-06-15 16:12:55 +02:00
Tim-Philipp Müller
93862e63d8 [MOVED FROM BAD 46/68] cog, colorspace: update orc backup functions for latest changes
Should fix build on systems without the latest orc.
2011-06-15 16:12:55 +02:00
Sebastian Dröge
85b0252c5e [MOVED FROM BAD 45/68] colorspace: Add support for RGB15 and BGR15 2011-06-15 16:12:55 +02:00
Sebastian Dröge
5c3ec3819d [MOVED FROM BAD 44/68] colorspace: Add support for RGB16 and BGR16 2011-06-15 16:12:55 +02:00
Sebastian Dröge
017f2b1d88 [MOVED FROM BAD 43/68] colorspace: Add support for Y16 2011-06-15 16:12:55 +02:00
Sebastian Dröge
09e9e55441 [MOVED FROM BAD 42/68] colorspace: Fix Y800 ORC getline implementation 2011-06-15 16:12:55 +02:00
Sebastian Dröge
ecfd247f02 [MOVED FROM BAD 41/68] colorspace: Add support for A420 2011-06-15 16:12:55 +02:00
Sebastian Dröge
395640e0e6 [MOVED FROM BAD 40/68] colorspace: Add support for Y41B 2011-06-15 16:12:54 +02:00
Sebastian Dröge
b026b621a4 [MOVED FROM BAD 39/68] colorspace: Add support for SDTV/HDTV YUV conversions 2011-06-15 16:12:54 +02:00
Sebastian Dröge
5f2f053c09 [MOVED FROM BAD 38/68] colorspace: Add comment for the A420 getline/putline table row 2011-06-15 16:12:54 +02:00
Sebastian Dröge
d75118e42f [MOVED FROM BAD 37/68] colorspace: Add const to the source arrays and the getline/putline table 2011-06-15 16:12:54 +02:00
Sebastian Dröge
dd00c712c9 [MOVED FROM BAD 36/68] colorspace: Make fast-path transform table const 2011-06-15 16:12:54 +02:00
Sebastian Dröge
2c542f083b [MOVED FROM BAD 35/68] colorspace: Only do the I420->YUY2 conversion once per scanline in the fast path 2011-06-15 16:12:54 +02:00
David Schleef
cb4a45bfbd [MOVED FROM BAD 34/68] colorspace: quiet a GST_ERROR 2011-06-15 16:12:54 +02:00
Tim-Philipp Müller
3b8ae9da70 [MOVED FROM BAD 33/68] colorspace: add orc-dist files
Should fix build without orc or too old orc.
2011-06-15 16:12:54 +02:00
David Schleef
b045ad2216 [MOVED FROM BAD 32/68] colorspace: Add conversion code
Work in progress.  Colorspace handles most format conversion using
3-stage getline/matrix/putline process using an AYUV or ARGB
intermediate, with most functions handled by Orc.  There is also
a table of single-pass conversions, all handled by Orc.  The plan
is to add optional stages for various chroma upsampling/downsampling
algorithms, dithering, and float/int16 intermediates, and then have
Orc create multi-stage functions at runtime.
2011-06-15 16:12:54 +02:00
David Schleef
7bc588631a [MOVED FROM BAD 31/68] colorspace: Revive element
Now based on Orc.
2011-06-15 16:12:54 +02:00
Benjamin Otte
0125cb55b9 [MOVED FROM BAD 30/68] gst_element_class_set_details => gst_element_class_set_details_simple 2011-06-15 16:12:54 +02:00
Stefan Kost
2f9ee2a816 [MOVED FROM BAD 29/68] Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2011-06-15 16:12:54 +02:00
Edward Hervey
638bde5efe [MOVED FROM BAD 28/68] Fix leaks.
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_init):
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_init):
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_init):
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c: (gst_bz2dec_init):
* ext/bz2/gstbz2enc.c: (gst_bz2enc_init):
* ext/divx/gstdivxdec.c: (gst_divxdec_init):
* ext/divx/gstdivxenc.c: (gst_divxenc_init):
* ext/faac/gstfaac.c: (gst_faac_init):
* ext/gsm/gstgsmdec.c: (gst_gsmdec_init):
* ext/gsm/gstgsmenc.c: (gst_gsmenc_init):
* ext/hermes/gsthermescolorspace.c: (gst_hermes_colorspace_init):
* ext/lcs/gstcolorspace.c: (gst_colorspace_init):
* ext/libfame/gstlibfame.c: (gst_fameenc_init):
* ext/snapshot/gstsnapshot.c: (gst_snapshot_init):
* ext/spc/gstspc.c: (gst_spc_dec_init):
* ext/swfdec/gstswfdec.c: (gst_swfdec_init):
* ext/xvid/gstxvidenc.c: (gst_xvidenc_init):
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_init):
* gst/chart/gstchart.c: (gst_chart_init):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_init):
* gst/festival/gstfestival.c: (gst_festival_init):
* gst/freeze/gstfreeze.c: (gst_freeze_init):
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_request_new_pad):
* gst/mpeg1sys/gstmpeg1systemencode.c: (gst_system_encode_init):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
* gst/nsf/gstnsf.c: (gst_nsfdec_init):
* gst/overlay/gstoverlay.c: (gst_overlay_init):
* gst/passthrough/gstpassthrough.c: (passthrough_init):
* gst/playondemand/gstplayondemand.c: (play_on_demand_init):
* gst/smooth/gstsmooth.c: (gst_smooth_init):
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_init):
* gst/speed/gstspeed.c: (speed_init):
* gst/vbidec/gstvbidec.c: (gst_vbidec_init):
* gst/videodrop/gstvideodrop.c: (gst_videodrop_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_init):
Fix leaks.
2011-06-15 16:12:54 +02:00
Stefan Kost
8239691a78 [MOVED FROM BAD 27/68] Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.h:
* ext/amrwb/gstamrwbdec.h:
* ext/amrwb/gstamrwbenc.h:
* ext/amrwb/gstamrwbparse.h:
* ext/arts/gst_arts.h:
* ext/artsd/gstartsdsink.h:
* ext/audiofile/gstafparse.h:
* ext/audiofile/gstafsink.h:
* ext/audiofile/gstafsrc.h:
* ext/audioresample/gstaudioresample.h:
* ext/bz2/gstbz2dec.h:
* ext/bz2/gstbz2enc.h:
* ext/dirac/gstdiracdec.h:
* ext/directfb/dfbvideosink.h:
* ext/divx/gstdivxdec.h:
* ext/divx/gstdivxenc.h:
* ext/dts/gstdtsdec.h:
* ext/faac/gstfaac.h:
* ext/gsm/gstgsmdec.h:
* ext/gsm/gstgsmenc.h:
* ext/ivorbis/vorbisenc.h:
* ext/libfame/gstlibfame.h:
* ext/nas/nassink.h:
* ext/neon/gstneonhttpsrc.h:
* ext/polyp/polypsink.h:
* ext/sdl/sdlaudiosink.h:
* ext/sdl/sdlvideosink.h:
* ext/shout/gstshout.h:
* ext/snapshot/gstsnapshot.h:
* ext/sndfile/gstsf.h:
* ext/swfdec/gstswfdec.h:
* ext/tarkin/gsttarkindec.h:
* ext/tarkin/gsttarkinenc.h:
* ext/theora/theoradec.h:
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.h:
* ext/xine/gstxine.h:
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.h:
* gst/cdxaparse/gstcdxaparse.h:
* gst/cdxaparse/gstcdxastrip.h:
* gst/colorspace/gstcolorspace.h:
* gst/festival/gstfestival.h:
* gst/freeze/gstfreeze.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/modplug/gstmodplug.h:
* gst/mpeg1sys/gstmpeg1systemencode.h:
* gst/mpeg1videoparse/gstmp1videoparse.h:
* gst/mpeg2sub/gstmpeg2subt.h:
* gst/mpegaudioparse/gstmpegaudioparse.h:
* gst/multifilesink/gstmultifilesink.h:
* gst/overlay/gstoverlay.h:
* gst/playondemand/gstplayondemand.h:
* gst/qtdemux/qtdemux.h:
* gst/rtjpeg/gstrtjpegdec.h:
* gst/rtjpeg/gstrtjpegenc.h:
* gst/smooth/gstsmooth.h:
* gst/smoothwave/gstsmoothwave.h:
* gst/spectrum/gstspectrum.h:
* gst/speed/gstspeed.h:
* gst/stereo/gststereo.h:
* gst/switch/gstswitch.h:
* gst/tta/gstttadec.h:
* gst/tta/gstttaparse.h:
* gst/videodrop/gstvideodrop.h:
* gst/xingheader/gstxingmux.h:
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.h:
* sys/dxr3/dxr3audiosink.h:
* sys/dxr3/dxr3spusink.h:
* sys/dxr3/dxr3videosink.h:
* sys/qcam/gstqcamsrc.h:
* sys/vcd/vcdsrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2011-06-15 16:12:54 +02:00
Stefan Kost
2a0b62f89c [MOVED FROM BAD 26/68] Define GstElementDetails as const and also static (when defined as global)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2011-06-15 16:12:54 +02:00
Stefan Kost
b4b8f2ff25 [MOVED FROM BAD 25/68] Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
* ext/arts/gst_arts.c: (gst_arts_class_init):
* ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
* ext/audiofile/gstafsink.c: (gst_afsink_class_init):
* ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
* ext/audioresample/gstaudioresample.c:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
* ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
* ext/hermes/gsthermescolorspace.c:
(gst_hermes_colorspace_class_init):
* ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
* ext/jack/gstjack.c: (gst_jack_class_init):
* ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
* ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
* ext/nas/nassink.c: (gst_nassink_class_init):
* ext/shout/gstshout.c: (gst_icecastsend_class_init):
* ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
* ext/sndfile/gstsf.c: (gst_sf_class_init):
* ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
(gst_swfdec_class_init):
* ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
* ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
* gst/chart/gstchart.c: (gst_chart_class_init):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
* gst/festival/gstfestival.c: (gst_festival_class_init):
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
* gst/filter/gstiir.c: (gst_iir_class_init):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
* gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
* gst/mpeg1sys/gstmpeg1systemencode.c:
(gst_system_encode_class_init):
* gst/mpeg1videoparse/gstmp1videoparse.c:
(gst_mp1videoparse_class_init):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/overlay/gstoverlay.c: (gst_overlay_class_init):
* gst/passthrough/gstpassthrough.c: (passthrough_class_init):
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
* gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
* gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
* gst/smooth/gstsmooth.c: (gst_smooth_class_init):
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
* gst/stereo/gststereo.c: (gst_stereo_class_init):
* gst/switch/gstswitch.c: (gst_switch_class_init):
* gst/tta/gstttadec.c: (gst_tta_dec_class_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
* gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
* gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
* sys/directsound/gstdirectsoundsink.c:
(gst_directsoundsink_class_init):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_channel_class_init):
* sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
(gst_v4l2_tuner_norm_class_init):
* sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2011-06-15 16:12:53 +02:00
Stefan Kost
fbc721c15e [MOVED FROM BAD 24/68] gst/: Fix more broken GObject macros
Original commit message from CVS:
* gst/colorspace/gstcolorspace.h:
* gst/deinterlace/gstdeinterlace.h:
* gst/passthrough/gstpassthrough.h:
* gst/y4m/gsty4mencode.h:
Fix more broken GObject macros
2011-06-15 16:12:53 +02:00
Thomas Vander Stichele
06693d83bd [MOVED FROM BAD 23/68] rework build; add translations for v4l2
Original commit message from CVS:
rework build; add translations for v4l2
2011-06-15 16:12:53 +02:00
Thomas Vander Stichele
62fdb630f7 [MOVED FROM BAD 22/68] expand tabs
Original commit message from CVS:
expand tabs
2011-06-15 16:12:53 +02:00
Andy Wingo
5998653602 [MOVED FROM BAD 21/68] Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/faac/gstfaac.c: (gst_faac_sink_event), (gst_faac_chain):
* ext/faad/gstfaad.c: (gst_faad_chain):
* ext/hermes/gsthermescolorspace.c: (gst_hermes_colorspace_chain):
* ext/lcs/gstcolorspace.c: (gst_colorspace_chain):
* ext/xine/xineinput.c: (gst_xine_input_get):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_chain):
* gst/speed/gstspeed.c: (speed_chain):
* gst/videocrop/gstvideocrop.c: (gst_video_crop_chain): Update for
alloc_buffer changes.
2011-06-15 16:12:53 +02:00
Jan Schmidt
7aeaaea834 [MOVED FROM BAD 20/68] Fix up all the state change functions.
Original commit message from CVS:
Fix up all the state change functions.
2011-06-15 16:12:53 +02:00
Thomas Vander Stichele
97d8584305 [MOVED FROM BAD 19/68] pound some sense in the colorspace elements
Original commit message from CVS:
pound some sense in the colorspace elements
2011-06-15 16:12:53 +02:00
Andy Wingo
04c7b716fd [MOVED FROM BAD 18/68] Way, way, way too many files: Remove crack comment from the 2000 era.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* Way, way, way too many files:
Remove crack comment from the 2000 era.
2011-06-15 16:12:53 +02:00
Steve Lhomme
3f31bb192a [MOVED FROM BAD 17/68] more working plugins
Original commit message from CVS:
more working plugins
2011-06-15 16:12:53 +02:00
Steve Lhomme
020cab418d [MOVED FROM BAD 16/68] rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2011-06-15 16:12:53 +02:00
Steve Lhomme
7b2e697a97 [MOVED FROM BAD 15/68] avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2011-06-15 16:12:53 +02:00
Steve Lhomme
c91297ae4c [MOVED FROM BAD 14/68] local include fixes
Original commit message from CVS:
local include fixes
Fix some 64 bits constants to be glib friendly
issue for a vararg macro with MSVC
2011-06-15 16:12:53 +02:00
Steve Lhomme
b7d093a549 [MOVED FROM BAD 13/68] more plugins supported under windows
Original commit message from CVS:
more plugins supported under windows
2011-06-15 16:12:53 +02:00
Stéphane Loeuillet
3395a05ff1 [MOVED FROM BAD 12/68] first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
Original commit message from CVS:

first batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
2011-06-15 16:12:53 +02:00
Benjamin Otte
080ba0e1ab [MOVED FROM BAD 11/68] s/gst_caps_simplify/gst_caps_do_simplify/
Original commit message from CVS:
* ext/hermes/gsthermescolorspace.c:
(gst_hermes_colorspace_caps_remove_format_info):
* gst/colorspace/gstcolorspace.c:
(gst_colorspace_caps_remove_format_info):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_caps_remove_format_info):
s/gst_caps_simplify/gst_caps_do_simplify/
2011-06-15 16:12:53 +02:00
David Schleef
fe6699ec28 [MOVED FROM BAD 10/68] gst/colorspace/gstcolorspace.c: Don't advertise a conversion we don't support (bug #139532)
Original commit message from CVS:
* gst/colorspace/gstcolorspace.c: Don't advertise a conversion
we don't support (bug #139532)
2011-06-15 16:12:53 +02:00
David Schleef
1513e5afa2 [MOVED FROM BAD 09/68] ext/hermes/gsthermescolorspace.c: decrease rank by 2 to not interfere with other colorspaces.
Original commit message from CVS:
* ext/hermes/gsthermescolorspace.c: (plugin_init): decrease rank
by 2 to not interfere with other colorspaces.
* ext/pango/gsttextoverlay.c: (plugin_init): change rank to NONE
* gst/colorspace/gstcolorspace.c: (plugin_init): decrease rank by
one to not interfere with ffmpeg_colorspace.
2011-06-15 16:12:52 +02:00
Thomas Vander Stichele
b99391b709 [MOVED FROM BAD 08/68] don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2011-06-15 16:12:52 +02:00
Johan Dahlin
5c6a30bd77 [MOVED FROM BAD 07/68] *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2011-06-15 16:12:52 +02:00
Thomas Vander Stichele
f20bede182 [MOVED FROM BAD 06/68] gst-indent
Original commit message from CVS:
gst-indent
2011-06-15 16:12:52 +02:00
David Schleef
243acdb0a4 [MOVED FROM BAD 05/68] configure.ac: the Hermes library controls hermescolorspace, not colorspace.
Original commit message from CVS:
* configure.ac: the Hermes library controls hermescolorspace, not
colorspace.
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
(gst_mpeg2dec_init): minor pet peeve: disable code with #ifdef,
not /* */
* ext/sdl/sdlvideosink.c: Change XID to unsigned long.
* ext/sdl/sdlvideosink.h: ditto.
* gst/colorspace/gstcolorspace.c: Fix old comments about Hermes
2011-06-15 16:12:52 +02:00
Christian Schaller
0d48ebcedb [MOVED FROM BAD 04/68] fix to make it possible to build from disted tarball
Original commit message from CVS:
fix to make it possible to build from disted tarball
2011-06-15 16:12:52 +02:00
David Schleef
29c59b3a30 [MOVED FROM BAD 03/68] gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c
from the template.
* gst-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofilter.h:
Add bytes_per_sample and size and n_samples calculation.
* gst-libs/gst/audio/gstaudiofilterexample.c:
Remove, now autogenerated.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
Moved from gstaudiofilterexample, object name changed, code added
so that it actually works.
* gst-libs/gst/audio/make_filter:
Script to build an audiofilter subclass from the template.
* gst/colorspace/Makefile.am:
* gst/colorspace/yuv2yuv.c:
Remove file, since it's GPL, and we don't use it.
2011-06-15 16:12:52 +02:00
Ronald S. Bultje
9ccfe27e27 [MOVED FROM BAD 02/68] gst/colorspace/: Fix compiling... Didn't test if it actually works.
Original commit message from CVS:
2004-01-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/colorspace/gstcolorspace.c:
* gst/colorspace/yuv2yuv.c: (gst_colorspace_yuy2_to_i420),
(gst_colorspace_i420_to_yv12):
Fix compiling... Didn't test if it actually works.
2011-06-15 16:12:52 +02:00
David Schleef
a91e1fa46b [MOVED FROM BAD 01/68] Duplicate the ext/hermes colorspace plugin, and remove Hermes code and GPL code. Fix for new caps negotiation. Rewr...
Original commit message from CVS:
* configure.ac:
* gst/colorspace/Makefile.am:
* gst/colorspace/gstcolorspace.c:
* gst/colorspace/gstcolorspace.h:
* gst/colorspace/yuv2rgb.c:
* gst/colorspace/yuv2rgb.h:
Duplicate the ext/hermes colorspace plugin, and remove Hermes
code and GPL code.  Fix for new caps negotiation.  Rewrite
much of the format handling code, and some of the conversion
code.  Basically, rewrote almost everything.  This element
handles I420, YV12 to RGB conversions.
* ext/hermes/Makefile.am:
* ext/hermes/gsthermescolorspace.c:
Rename colorspace to hermescolorspace.  Fix negotiation issues.
Remove non-Hermes related code.  This element handles lots of
RGB to RGB conversions, but no YUV.
* ext/hermes/gstcolorspace.c:
* ext/hermes/gstcolorspace.h:
* ext/hermes/rgb2yuv.c:
* ext/hermes/yuv2rgb.c:
* ext/hermes/yuv2rgb.h:
* ext/hermes/yuv2rgb_mmx16.s:
* ext/hermes/yuv2yuv.c:
* ext/hermes/yuv2yuv.h:
Remove old code.
2011-06-15 16:12:52 +02:00
Tim-Philipp Müller
59581d464f uridecodebin, decodebin: remove new-decoded-pad and removed-decoded-pad signals
They were deprecated, use "pad-added" and "pad-removed" instead.
2011-06-15 00:32:23 +01:00
Tim-Philipp Müller
8573dbdf66 playback: rename playbin2 to playbin
But keep source file name as-is for now.
2011-06-15 00:06:09 +01:00
Tim-Philipp Müller
5fd073e070 playback: merge playbin and decodebin plugins into one single playback plugin again 2011-06-15 00:02:13 +01:00
Tim-Philipp Müller
b5ef8efa1a decodebin2: rename decodebin2 to decodebin
But don't rename source file for now, which hopefully
makes merging from master easier.
2011-06-14 23:53:38 +01:00
Tim-Philipp Müller
24f28cfdb0 playback: remove old playbin and decodebin elements 2011-06-14 23:42:27 +01:00
Debarshi Ray
2c6dbae423 Remove unused but set variables
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-14 22:40:13 +01:00
Wim Taymans
40d567153a Merge branch 'master' into 0.11 2011-06-13 19:09:05 +02:00
Wim Taymans
9c54ca5254 -base: update for buffer API change 2011-06-13 16:32:56 +02:00
Wim Taymans
f542a3e582 videotestsrc: use baseclass allocator negotiation logic
Let the baseclass implement the negotiation of the allocators.
Influence the allocator buffersize.
Use the fill vmethod to fill the buffer with data.
2011-06-13 12:09:34 +02:00
Wim Taymans
1c8324a0d1 update for bufferpool api change 2011-06-11 18:54:44 +02:00
David Schleef
4db89c82bb convert M_PI to G_PI, for msvc 2011-06-10 23:56:34 -07:00
Wim Taymans
408221119c videotestsrc: fix for alignment value change 2011-06-10 17:58:26 +02:00
Wim Taymans
0ac9bb7d99 Merge branch 'master' into 0.11
Conflicts:
	tests/examples/audio/Makefile.am
	tests/examples/v4l/Makefile.am
2011-06-10 12:14:57 +02:00
Wim Taymans
db999572a8 -base: fix for flush_stop event API change 2011-06-10 11:59:53 +02:00
Wim Taymans
f565812e25 playback: changes for message API changes 2011-06-08 13:45:41 +02:00
Tim-Philipp Müller
c692191c33 GST_PLUGINS_BASE_LIBS is not defined in -base. 2011-06-08 12:21:43 +01:00
Tim-Philipp Müller
c092981b16 Remove v4l plugin
The old v4l interface has been deprecated for years and even
been removed from the kernel headers. If anyone still needs
this plugin, they can resurrect it in gst-plugins-bad, there's
no reason for it to be in -base.
2011-06-07 20:47:46 +01:00
Wim Taymans
2940249a84 -base: use caps event
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Wim Taymans
beb864bd93 -base: use caps event instead of setcapsfunction 2011-06-07 10:58:27 +02:00
Wim Taymans
c88ee10c9b Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
Wim Taymans
8722bdc694 videotestsrc: remove deprecated peer-alloc property
Remove the peer-alloc property, it's not used anymore because pad-alloc is gone.
2011-06-06 16:13:43 +02:00
Tim-Philipp Müller
4db75330b2 subparse: fix indentation 2011-06-06 00:23:59 +01:00
David Schleef
836081abee adder: Work around changes in g_atomic API
See #651514 for details.
2011-06-04 13:36:55 -07:00
Wim Taymans
c74443b347 typefind: fix after merge 2011-06-03 13:16:09 +02:00
Wim Taymans
5f271d64a6 playback: fix compilation after ghostpad setcaps removal 2011-06-03 13:12:31 +02:00
Wim Taymans
0200e720de Merge branch 'master' into 0.11 2011-06-02 19:26:33 +02:00
Tim-Philipp Müller
d10a7b439b typefinding: add typefinder for WAP WBMP bitmaps
https://bugzilla.gnome.org/show_bug.cgi?id=651294
2011-06-02 14:36:06 +01:00
Wim Taymans
f9967e4aac Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/video.h
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkvideoconvert.c
	tests/check/libs/rtp.c
2011-06-02 12:18:13 +02:00
Wim Taymans
ea672b68a1 playsinconvert: clear the probe id when removing 2011-06-02 12:12:04 +02:00
Wim Taymans
3b09cfe54d playsink: refactor block/unblock code a little 2011-06-02 12:08:22 +02:00
Sebastian Dröge
5c97aa2e5c playsink: Fix deadlock in the audio/video converter bins when linking fails 2011-06-02 11:54:35 +02:00
Wim Taymans
f91c753959 probes: port to new API for blocking and probes 2011-06-01 19:34:54 +02:00
Sebastian Dröge
8f967e9e70 volume: Fix handling of volume>=4.0 for 8 and 16 bit integer formats
Also add a unit test for this. Previously volumes bigger than 4.0
would have resulted in overflows in the fixed point processing.

Fixes bug #649642.
2011-05-31 11:07:11 +02:00
Wim Taymans
c7428aeaae playbin: fixed for new pad block API 2011-05-30 18:36:14 +02:00
Sebastian Dröge
0c99ab5806 videoscale: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.
2011-05-27 14:37:41 +02:00
Sebastian Dröge
da4e79bb6b ffmpegcolorspace: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.
2011-05-27 14:34:37 +02:00
Sebastian Dröge
a2162b07ad audioresample: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.
2011-05-27 14:31:02 +02:00
Sebastian Dröge
4fcd621101 audioconvert: Use new gst_caps_is_subset_structure() API
This prevents one copy of every structure and creating a new caps
instance.
2011-05-27 14:10:50 +02:00
Sebastian Dröge
d590bce5f7 audioconvert: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.

This makes gst_pad_get_caps() on an audiotestsrc ! audioconvert !
audioconvert ! audioconvert ! fakesink pipeline about 1.7 times faster.
2011-05-27 13:13:42 +02:00
Sebastian Dröge
d8e0af1fc1 gst: Update for the GstBaseTransform::transform_caps() changes 2011-05-27 12:13:14 +02:00
Wim Taymans
8501753033 -base: change for changed set_blocked API 2011-05-26 16:18:16 +02:00
Sebastian Dröge
bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Sebastian Dröge
216258fbc2 playbin2: Let the input-selectors sync all streams to the running time
This is especially needed when switching between a non-sparse and sparse
video stream, see bug #537382. It also lowers the time needed for switching
between streams a bit.
2011-05-26 11:41:50 +02:00
Stefan Kost
5cd0e0f666 audiotestsrc: add blue and violet noise by using spectral inversion
Add blue and violet noise by spectral inversion of pink and red noise.
Fixes #649969
2011-05-26 00:18:55 +03:00
Stefan Kost
1cf831e74e audiotestsrc: add red (brownian) noise generator
Add another noise generator which produces a quite dark noise color.

Fixes parts of #649969.
2011-05-25 23:43:56 +03:00
Stefan Kost
1916eecc30 volume: use a flag for 'mute' using the controller
Previously we checked mute_csource to determine wheter we need to premultiply
volumes and mute values. That fails as we unrefs mute_csource and set it to
NULL after. Use an extra flag instead.
2011-05-25 14:28:18 +03:00
Wim Taymans
e614c6bd81 feature: use object name instaed of feature name 2011-05-24 18:21:06 +02:00
Wim Taymans
010add200a scheduling: port to new scheduling query 2011-05-24 17:37:45 +02:00
Wim Taymans
a87c021237 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Sebastian Dröge
c867f677c0 subparse: Try to typefind even if conversion to UTF8 failed
Fixes bug #600043.
2011-05-23 16:05:35 +02:00
Sebastian Dröge
2c7cdbc2ca subparse: Compile the typefind regex with optimization to speed up matching 2011-05-23 16:05:35 +02:00
Sebastian Dröge
3dc4987138 subparse: Interprete typefind strings passed to GRegex as raw bytes instead of valid UTF8 2011-05-23 16:05:35 +02:00
Stefan Kost
762bb236fa docs: fixup appsrc/sink api docs 2011-05-23 15:02:27 +03:00
Wim Taymans
6688eea15c encodebin: use new method
Use the new element class method to get the metadata from an element. Not all
elements might have an elementfactory.
2011-05-20 12:50:39 +02:00
Sebastian Dröge
1be10803ba encodebin: Fix compilation after the removal of GstElementDetails 2011-05-20 12:32:35 +02:00
Sebastian Dröge
a9b134d1a9 Merge branch 'master' into 0.11
Conflicts:
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/gst-plugins-base-plugins.prerequisites
2011-05-20 12:26:57 +02:00
Stefan Kost
f514be993c audioconvert: cleanup helper code
make_lossless_changes() returns the same structure that we're passing (probably
to enable chaining). Instead of reusing s and making it point to s2 as well,
keep using s2. Drop the assignment which in the 2nd case is a dead one anyway.
2011-05-19 23:41:08 +03:00
Thiago Santos
b5fb542386 encodebin: Autoplug formatters
Autoplug formatters for streams if a formatter with secondary or
higher rank is found. Formatters are autoplugged when there is no
muxer or when the muxer doesn't implement the tagsetter interface.

Currently only the first formatter found is plugged, this might
help in lots of cases, but it doesn't solve the
'lamemp3 ! xingmux ! id3mux'
case.

https://bugzilla.gnome.org/show_bug.cgi?id=649841
2011-05-19 08:35:46 -03:00
Thiago Santos
0060900d68 encodebin: fix typos 2011-05-19 08:30:03 -03:00
Sebastian Dröge
884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Sebastian Dröge
a46485e357 gst: Update for caps/pad template related API changes 2011-05-17 13:06:01 +02:00
Sebastian Dröge
03f9ca3d64 encodebin: Update for caps/pad template related API changes 2011-05-17 13:06:00 +02:00
Sebastian Dröge
318ed07598 Revert "-base_port to new query API"
This reverts commit c9f4e0676b.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
8549dd352d Revert "decodebin2: Update for GstQuery related API changes"
This reverts commit 549128c2a3.
2011-05-17 11:24:18 +02:00
Sebastian Dröge
07617d50d3 videorate: Update for segment API changes 2011-05-16 17:14:08 +02:00
Sebastian Dröge
549128c2a3 decodebin2: Update for GstQuery related API changes 2011-05-16 17:13:14 +02:00
Sebastian Dröge
34849f0108 playsink: Update for other 0.11 API changes 2011-05-16 17:13:04 +02:00
Sebastian Dröge
01c798605a playsink: Use correct number of parameters to gst_pad_get_caps() 2011-05-16 17:08:45 +02:00
Sebastian Dröge
d0362c2b87 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/alsa/gstalsasrc.c
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst-libs/gst/tag/gstxmptag.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
e21ec369f0 videorate: Update for negotiation related API changes 2011-05-16 15:35:41 +02:00
Sebastian Dröge
7330318e2f tcpclientsrc: Update for negotation related API changes 2011-05-16 15:35:41 +02:00
Sebastian Dröge
2b9845e60f audioresample: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
616181901e playback: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
a78bf729a9 ffmpegcolorspace: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
709b831a72 encodebin: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
c020add91e audioconvert: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
48654cdacf adder: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
219b610fdd videotestsrc: Update for negotiation related API changes 2011-05-16 15:35:18 +02:00
Sebastian Dröge
0d39d5bb8f videoscale: Update for negotiation related API changes 2011-05-16 15:35:17 +02:00
Sebastian Dröge
cc785bade6 videoscale: basetransform is now better at trying passthrough, remove workaround 2011-05-16 15:34:49 +02:00
Wim Taymans
94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Mark Nauwelaerts
eba4a948fb videorate: optionally ensure maximum average output frame rate
See #628764.
2011-05-16 12:46:00 +02:00
Alexey Fisher
1e09272024 videorate: optionally only drop frames to ensure maximum frame rate
This adds option to arrange for maximal allowed variable frame rate.

Fixes #628764.
2011-05-16 12:45:47 +02:00
Mark Nauwelaerts
4ba6acdba5 uridecodebin: use bitrate to configure streaming buffer-duration default case
In particular, in audio only cases whose (estimated) metadata provides bitrate
information, the buffer-size based on such bitrate (and buffer-duration)
will be much more reasonable than queue2 default buffer-size.
2011-05-16 12:44:52 +02:00
Mark Nauwelaerts
8480b1ef1d uridecodebin: remove some dead code
... which was dead as pads were never added to the list, and need not be added,
since removing them is handled by a pad callback.
2011-05-16 12:44:50 +02:00
Thiago Santos
fd486588ce encodebin: Check for missing converters
Adds checks for missing video and audio converter elements
2011-05-15 13:02:39 -03:00
Andoni Morales Alastruey
dd36e4cd0e decodebin2: fix preroll for streams at low bitrates
For streams at low bitrates we need to set a limit in time because the limit
in bytes might not reached too late, sometimes more than 30 seconds.
This limit can only be set if upstream is seekable (see #584104)
Closes #647769
2011-05-14 11:42:33 +02:00
Sebastian Dröge
9337a293e1 playsink: Use new ghostpad/proxypad API to get the internal pad 2011-05-14 11:42:33 +02:00
Sebastian Dröge
9b6e1952a4 playsink: Use new ghostpad/proxypad API 2011-05-14 11:42:33 +02:00
Sebastian Dröge
2f8467d682 playsink: Add audio and video converter convenience bins
These reconfigure based on the caps and plugin in converters if
necessary. This also makes switching between compressed and raw
streams work flawlessly without loosing the states of any element
somewhere or having running time problems.
2011-05-14 11:42:32 +02:00
Sebastian Dröge
105da803ad playbin2/playsink: Decide if A/V caps are raw only inside playsink
Before playbin2 would use different selectors for raw audio and
compressed audio (and the same for video) and used different
pads from playsink. This made the involved logic much more
complex and was not implemented completely in playsink, which
made it impossible to support files with a compressed and
uncompressed stream that is support by the sink.

playbin2 handles raw/non-raw streams the same now and the
decision is left to playsink, which now can also handle
caps changes from raw to non-raw and the other way around.

Fixes bug #632788.
2011-05-14 11:42:32 +02:00
Sebastian Dröge
45bf51dcdf subtitleoverlay: Use new, public ghostpad functions 2011-05-14 11:42:32 +02:00
Wim Taymans
c9f4e0676b -base_port to new query API 2011-05-10 18:39:07 +02:00
Wim Taymans
7cad11e912 -base: fix for now request pad API 2011-05-10 16:44:37 +02:00
Wim Taymans
556afdef97 message: don't acces the structure directly 2011-05-10 13:35:49 +02:00
Wim Taymans
5dbc49ccf7 event: don't access the event structure
the event structure is now hidden, so don't access it directly.
2011-05-10 11:54:30 +02:00
Wim Taymans
bdb4676455 qos: _qos_full -> _qos 2011-05-09 18:53:03 +02:00
Wim Taymans
816f4e791d segment: fix for new core API
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
9d594f4242 audiorate: abs_rate is removed from segment structure 2011-05-09 16:42:34 +02:00
Wim Taymans
ec57868488 -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans
df54ba57a9 adder: fix getcaps function
Explicitely get the possible caps in the sinkpad instead of using an old removed
function.
2011-05-08 13:24:30 +02:00
Wim Taymans
d9871e3a51 videotestsrc: avoid setting caps on buffers
We don't need to set caps on buffers anymore, this is now done with a caps
event.
2011-05-08 13:14:32 +02:00
Sebastian Dröge
6512a6c73d subtitleoverlay: Update for new GstIterator API 2011-05-05 18:47:58 +02:00
Sebastian Dröge
820c0c1d3b playbin2: Update for new GstIterator API 2011-05-05 18:47:50 +02:00
Sebastian Dröge
03f7820d2c streamselector: Return a NULL iterator instead of an empty iterator that returns NULL if there's no otherpad 2011-05-05 18:38:53 +02:00
Sebastian Dröge
b015e5e763 playbasebin: Update for new GstIterator API 2011-05-05 18:35:46 +02:00
Sebastian Dröge
5bb005ad51 uridecodebin: Fix usage of gst_iterator_fold() 2011-05-05 18:29:13 +02:00
Sebastian Dröge
64851f12c0 gst: Update for new GstIterator API 2011-05-05 16:03:52 +02:00
Sebastian Dröge
c3b778f9b1 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-03 09:49:26 +02:00
Wim Taymans
abcbef287d plugins: fix for allocation query API change 2011-05-02 11:11:33 +02:00
Tim-Philipp Müller
288f8babd1 gst: update orc-generated disted C backup code to orc 0.4.14 2011-04-30 17:21:28 +01:00
Wim Taymans
86a4771f8e remove buffer_alloc 2011-04-29 13:28:17 +02:00
Wim Taymans
4dab93ed51 videotestsrc: use ALLOCATION query
Use the allocation query to get the buffer parameters and potentially a
bufferpool from downstream. Use the bufferpool to create buffers.
2011-04-29 12:10:14 +02:00
Wim Taymans
079c152e62 Merge branch 'master' into 0.11
Conflicts:
	gst/videoscale/gstvideoscale.c
2011-04-25 11:20:45 +02:00
David Schleef
fc31f355ea videoscale: Fix off-by-one error in previous commit
Fix for 7c0b702e.  It helps to get your j+1's right.
2011-04-24 18:46:52 -07:00
David Schleef
7c0b702e14 videoscale: Fix ARGB bilinear scaling
Fixes #648548.  Orc generates bad code for
gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
slightly slower two-stage process.  I'd fix Orc, but it's hard to
get excited about fixing a feature that I'm planning to deprecate
and replace.
2011-04-24 18:22:23 -07:00
David Schleef
d4dbebc606 videoscale: hack to fix invalid reads in linear
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
ce9406f4d6 videoscale: protect 4tap from out-of-bounds reads
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
8264d59aab videoscale: use simpler scaling method for small images
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 12:55:28 +01:00
Marc Plano-Lesay
2ccd243d55 audioresample: fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-24 12:43:33 +01:00
Sebastian Dröge
fc4d766e28 audioresample: Remove filter-length property, it only existed for backward compatibility 2011-04-19 11:36:35 +02:00
Sebastian Dröge
f10a8f0986 gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:35:53 +02:00
Sebastian Dröge
0759ce8533 Merge branch 'master' into 0.11 2011-04-18 13:23:32 +02:00
Tim-Philipp Müller
82a791519c gst: update disted orc backup code 2011-04-16 15:59:45 +01:00
Sebastian Dröge
8eceb64b99 Merge branch 'master' into 0.11 2011-04-16 09:33:44 +02:00
Sebastian Dröge
352edd1dd9 Merge branch 'master' into 0.11 2011-04-16 09:12:31 +02:00
Mark Nauwelaerts
961226e0cd playbin2: avoid foregoing READY_TO_NULL when appropriate 2011-04-15 11:13:31 +02:00
Mark Nauwelaerts
2bb91c4880 playbin2: ensure proper PAUSED_TO_READY cleanup
... since going async to PAUSED might fail, and never making it to PAUSED
subsequently skips going down to READY.

Fixes #647781.
2011-04-14 22:14:50 +02:00
Sebastian Dröge
67d2f852ff encodebin: Set all elements to NULL and remove them from the bin when removing a source group 2011-04-14 12:23:10 +02:00
Tim-Philipp Müller
f14c73cbfd ffmpegcolorspace: fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 23:19:51 +01:00
Tim-Philipp Müller
dd62fdc585 typefindfunctions: fix unused-but-set-variable warning with gcc 4.6
We don't compare the bitrates of consecutive mp3 frames on purpose
here.

https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 22:59:03 +01:00
Tim-Philipp Müller
a90adccacd multifdsink: do check return values of fcntl() and fstat()
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:44 +01:00
Marc Plano-Lesay
bf2b14f860 fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:37 +01:00
Mark Nauwelaerts
eb10995895 videorate: empty caps have no structure to pick 2011-04-11 15:03:55 +02:00
Wim Taymans
6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Havard Graff
8ff295a788 audioresample: Make src query MT-safe
It is possible that the element might be going down while the event arrives
2011-04-08 15:04:41 +02:00
Wim Taymans
4007076b55 Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Mark Nauwelaerts
5c8ed3bd47 audioresample: minor simplification
... which avoids crashing in the off-chance that structure == NULL.
2011-04-06 12:26:08 +02:00
Wim Taymans
da1c863711 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
David Schleef
12513a9537 Remove setting of plugindir from Makefiles 2011-04-01 13:55:56 -07:00
Wim Taymans
730b87271c bufferlist: fixes for new API 2011-03-31 17:47:43 +02:00
Wim Taymans
adaf08f143 Merge branch 'master' into 0.11-fdo
Conflicts:
	gst-libs/gst/tag/gstxmptag.c
2011-03-30 20:23:54 +02:00
Wim Taymans
248ab2d064 Fix for latest API changes 2011-03-30 16:50:45 +02:00
Tim-Philipp Müller
143dc4810d typefindfunctions: rename type playlist/m3u8 to application/x-hls
We should keep playlist/m3u8 available for normal m3u8 playlists,
which we we'll likely support some day. Also, we probably don't
want this handled like other playlists, so application/* seems
more appropriate in this case, even if it's really just a playlist.
2011-03-30 15:44:45 +01:00
Sebastian Dröge
34548c16d8 typefind: Fix comment typo and add a link the the HTTP live streaming spec 2011-03-30 09:18:00 +02:00
Sebastian Dröge
70148cdf97 typefind: Use the DataScanCtx for the m3u8 typefinder 2011-03-30 09:12:25 +02:00
Andoni Morales Alastruey
7eb1ded8c1 typefind: add m3u8 playlists 2011-03-30 09:00:54 +02:00
Wim Taymans
e1869fa267 Merge branch 'master' into 0.11-fdo 2011-03-28 20:13:59 +02:00
Wim Taymans
3b03e23559 plugins: port some plugins to the new memory API 2011-03-27 16:35:28 +02:00
Sebastian Dröge
c27cd709bf playsink: Update comment about why an audio queue is needed 2011-03-24 14:22:00 +01:00
Sebastian Dröge
65320a04ab Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
This reverts commit df886c0622.
2011-03-24 14:21:01 +01:00
Sebastian Dröge
df886c0622 playsink: Only add a queue before the audio sink if visualizations are enabled
The queue is not needed otherwise and will add some delay to track
switches.
2011-03-24 14:04:54 +01:00
Sebastian Dröge
2c057f745f playsink: Remember automatically created sinks for future reconfigures
Also allow reuse of sink elements in error cases.
2011-03-23 15:08:13 +01:00
Sebastian Dröge
9c13edef4e playbin2: Check if an already existing sink supports the non-raw format too
Before we were assuming that a sink will always support all non-raw formats
in a single stream.
2011-03-23 14:43:36 +01:00
Arun Raghavan
b0ef98001f playbin2: Check if an element accepts requisite caps before selecting
In addition to ensuring that an element we want to select in
autoplug-select can enter the READY state, we also now check if it can
accept the caps we wish to plug it for. This is handy for sinks that
need to perform a probe to figure out whether they can actually handle a
given format.
2011-03-23 14:42:05 +01:00
Sebastian Dröge
b76efc7f5d playbin2: Set sinks to READY before checking if it accept caps
Fixes bug #642732.
2011-03-23 14:33:17 +01:00
Sebastian Dröge
a0ff13217a playbin2: Always prefer the custom set sink and also set it back to NULL in all cases. 2011-03-23 14:31:40 +01:00
Sebastian Dröge
4e49d58917 playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.
2011-03-23 14:28:36 +01:00
Thiago Santos
91ed9290b8 videoscale: Fix assertion on caps fixation
When fixating caps, from_par should always be initialized
with a fixed value.

In case the fixation is from src to sink pad it was setting
the from par (srcpad par) to a fraction range, this patch initializes
it to 1/1, based on the assumption that missing PAR is 1/1.

https://bugzilla.gnome.org/show_bug.cgi?id=641952
2011-03-22 15:24:01 -03:00
Tim-Philipp Müller
e8f5b3a579 uridecodebin: post proper error message if decodebin2/typefind elements are missing
Post better error messages in case typefind/decodebin2 are missing or
could not be loaded for some reason (e.g. because they inadvertently
got blacklisted).

https://bugzilla.gnome.org/show_bug.cgi?id=644892
2011-03-16 10:19:42 +00:00
Wim Taymans
95f7fd8edf Merge branch 'master' into 0.11-fdo 2011-03-15 11:11:56 +01:00
Tim-Philipp Müller
a558af4bbf typefinding: add depth and endianness to DTS caps
https://bugzilla.gnome.org/show_bug.cgi?id=644208
2011-03-14 18:35:27 +00:00
Stefan Kost
63be375c21 plaback: trim trailing whitespace 2011-03-14 10:43:42 +02:00
Stefan Kost
7f1382112e decodebin2: reflow configuring new multiqueue instance
Use a single g_object_set to configure the new multiqueue instance. Also don't
needlessly set "use-buffering" if it is the default.
2011-03-14 10:43:42 +02:00
Thiago Santos
4ee738be59 encodebin: Tear down old profiles when setting new ones
In NULL/READY, we should be able to switch profiles on encodebin,
this patch makes it tear down old profiles when new ones are set
if in NULL/READY states

https://bugzilla.gnome.org/show_bug.cgi?id=644416
2011-03-10 15:12:01 -03:00
Andoni Morales Alastruey
8c13488022 multifdsink: disconnect inactive clients in the select loop too
Clients are usually disconnected in the streaming thread if their inactivity
is bigger than the timeout. If no new buffers are to be rendered in the sink,
these clients will never be disconnected and for that reason it should be
handled in the select() loop too.
2011-03-10 15:10:51 +01:00
Andoni Morales Alastruey
4a64969b3d multifdsink: disconnect inactive clients in the select loop too
Clients are usually disconnected in the streaming thread if their inactivity
is bigger than the timeout. If no new buffers are to be rendered in the sink,
these clients will never be disconnected and for that reason it should be
handled in the select() loop too.
2011-03-10 15:10:00 +01:00
Wim Taymans
6aa22111a1 Merge branch 'master' into 0.11 2011-03-04 16:21:13 +01:00
Stefan Kost
cf9aaffcb9 playbin2: set several properties in one go
g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
them) by using it accordingly.
2011-03-04 14:43:20 +02:00
Tim-Philipp Müller
09f15da2f8 typefindfunctions: fix compiler warning on 32-bit systems
Mark 64-bit interger constant as such to avoid warnings such as:
gsttypefindfunctions.c:2152: error: integer constant is too large for ‘long’ type
2011-03-02 15:38:01 +00:00
Wim Taymans
03c710d6cd miniobject: fix for changed miniobject 2011-02-28 11:50:03 +01:00
Wim Taymans
c6dd11981d Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Sebastian Dröge
4ac6f5ff83 decodebin2: Only prevent to autoplug the same parser multiple times for the same chain
Parsers are the only element class that are not changing the data and
could lead to an infinite loop. Other element classes like demuxers,
e.g. id3demux, can be used multiple times in a row and sometimes are.
2011-02-27 09:32:55 +01:00
Sebastian Dröge
c7f5290247 decodebin2: Break the double-factory checking loop immediately if the factory was used already 2011-02-26 23:43:39 +01:00
Sebastian Dröge
5058f79226 decodebin2: Don't use the same element multiple times in the same chain
This is going to lead to an infinite loop of this element and can easily
happen with parsers that accept their own src caps on the sinkpad.
2011-02-26 23:40:48 +01:00
Sebastian Dröge
32c30b88ff decodebin2: Improve detection of raw caps in expose-all-streams=false mode
Previously we only checked against the raw caps but we should also
check against the return value of autoplug-continue. Additionally fix
a thread-safety issue with accessing the raw caps.
2011-02-26 23:24:11 +01:00
Tim-Philipp Müller
c48c193b56 playbin2, uridecodebin: add "source-setup" signal
Add "source-setup" signal for convenience and discoverability. No need
to figure out "notify::source", look up the notify callback signature,
then do an g_object_get() to get the source element..

https://bugzilla.gnome.org/show_bug.cgi?id=626152
2011-02-24 16:53:01 +00:00
Sebastian Dröge
8067bcc54f encodebin: Return a new reference of the pad for the "request-pad" signal
The GObject signal code assumes that the signal handlers return a
new reference or copy. Fixes bug #641927.
2011-02-24 15:55:00 +01:00
Leo Singer
27178f7aff adder: Fill in offset_end field of outgoing buffers
... rather than leave it as GST_BUFFER_OFFSET_NONE

Fix bug #642942.
2011-02-24 13:28:13 +01:00
Mark Nauwelaerts
19052a847d playsink: release all chains when going to NULL
Also fixes #642466.
2011-02-23 14:33:40 +01:00
Mark Nauwelaerts
102b4feddf playsink: undo state change side effect on error way out
... to avoid subsequent cleanup disposing an element not in NULL state.
2011-02-23 14:33:35 +01:00
Mark Nauwelaerts
948e4d50a6 playsink: avoid crashing on the way out when needed chain missing 2011-02-23 10:33:44 +01:00
Parthasarathi Susarla
0ebc34adf9 typefinding: detect raw h.263
https://bugzilla.gnome.org/show_bug.cgi?id=623846
2011-02-22 11:47:53 +00:00
Mark Nauwelaerts
d17c4c28d5 audiorate: add skip-to-first property
API: GstAudioRate::skip-to-first
2011-02-21 12:58:42 +01:00
Mark Nauwelaerts
bb0dc56114 videorate: fix skip-to-first ts setup
... such as avoiding arithmetic mixing counts and ts, although latter
would typically be 0 so far.
2011-02-21 12:58:16 +01:00
Edward Hervey
3fe2777b54 Revert "oggmux,adder: Check if collectpads has been freed"
This reverts commit 6d150873e8.

Depends on a core commit that was reverted.
2011-02-21 12:04:09 +01:00
David Schleef
6d150873e8 oggmux,adder: Check if collectpads has been freed
Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.
2011-02-20 23:49:54 -08:00
David Schleef
e1149f52c1 videoscale: Add 16-bit-channel support 2011-02-20 12:04:02 -08:00
David Schleef
99d8339289 videotestsrc: Add 16-bit-per-channel formats 2011-02-20 12:04:02 -08:00
Leo Singer
82199c5815 audiotestsrc: each element gets its own instance of GRand, if needed
As a result, pipelines that contain multiple instances of audiotestsrc
with the 'wave' property set to 'white-noise', 'pink-noise', or
'gaussian-noise' will run much faster, since they won't be competing
for access to the global, lock-protected instance of GRand.

Fixes bug #642720.
2011-02-19 08:37:46 +01:00
Sebastian Dröge
0e3c32ac72 playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.
2011-02-18 17:29:07 +01:00
Edward Hervey
4c68f3b597 encodebin: Add a audioconverter after the audio resampler.
This allows handling non-native-endianness conversion properly.
2011-02-18 16:08:55 +01:00
Sebastian Dröge
2fc70442a7 playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.
2011-02-18 14:04:38 +01:00
Sebastian Dröge
09750a0132 uridecodebin: Add default handler for autoplug-select
uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.
2011-02-18 12:06:30 +01:00
Sebastian Dröge
91122e4efc uridecodebin: Return NULL from the default autoplug-sort handler
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:02:18 +01:00
Sebastian Dröge
2a6602d994 decodebin2: Return NULL from the default autoplug-sort handler
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:01:05 +01:00
Sebastian Dröge
da4b5bf9f9 uridecodebin: Update autoplug-* signal docs from decodebin2
uridecodebin proxies these signals.
2011-02-18 12:00:34 +01:00
Sebastian Dröge
ef5f73206d decodebin2: Update documentation of the autoplug-* signals
Add notes about the behaviour if multiple signal handlers are connected.
For most autoplug-* signals only the first signal handler will ever
be invoked.

Also add to the autoplug-sort docs that the signal handler can return NULL
to specify that the order should change and other handlers get the chance
to sort the array.
2011-02-18 11:58:44 +01:00
Sebastian Dröge
785f35a48e decodebin2: Keep the original factory list if the sort signal handlers returned NULL 2011-02-18 11:57:12 +01:00
tskd2@yahoo.co.jp
0641eabeb2 uridecodebin: expose "autoplug-sort" signal
It is a proxy of the decodebin2's one, and was missing
in the previous code.

See bug #642433.
2011-02-18 11:17:11 +01:00
Sebastian Dröge
1351597381 playbin2: Use a recursive mutex for the playbin lock
This lock is taken when activating a group, which could result in
calling the autoplug-continue callback, which also needs this lock
to access the sinks.

See bug #642174.
2011-02-18 10:57:40 +01:00
Sebastian Dröge
6ca5bb72a4 decodebin2: Disconnect signal handlers when removing a failed element
This prevents crashes later if one of the signals is emitted after the
element was removed from decodebin2 already, which can happen in discoverer.
2011-02-18 09:44:49 +01:00
David Schleef
7902e13df5 typefind: Fix mpeg TS detection 2011-02-17 18:29:57 -08:00
Sebastian Dröge
140dca43f3 playbin2: Optimize autoplug-continue handler a bit
Don't build merge the caps of all sinks but check them one-by-one
until one supports the caps. Also get reffed caps from the sinkpads
instead of a writable copy and add debug output if a sink claims to
support ANY caps.
2011-02-15 17:46:22 +01:00
Akihiro Tsukada
555e338008 playbin2: Fix handling of non-raw custom sinks
When autoplugging elements in decodebin2, check if
the caps are supported by one of the sink before
continuing autoplugging.

Fixes bug #642174.
2011-02-15 17:24:28 +01:00
Sebastian Dröge
fbf9729795 decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
Fixes bug #642381.
2011-02-15 17:05:42 +01:00
Andoni Morales Alastruey
f7dbec9091 gdppay: ensure buffer's metadata is writable before setting caps 2011-02-14 15:51:08 +01:00
Stefan Kost
fe59f50468 decodebin2: caps can be NULL
Don't use and unref NULL caps.
2011-02-08 12:32:23 +02:00
Mark Nauwelaerts
2c017d2a70 uridecodebin: fix copy-and-paste typo in property docs 2011-02-02 15:39:19 +01:00
Mark Nauwelaerts
e5e09844ea tcp: use socklen_t where appropriate rather than specific type
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-01-31 19:21:32 +01:00
Wim Taymans
1fb7c7e5dc uridecodebin: also add https to buffer protocols
HTTPS also needs buffering.
2011-01-31 10:34:44 +01:00
Philippe Normand
749f541cc4 typefinding: register H264 typefinder with H264 caps
https://bugzilla.gnome.org/show_bug.cgi?id=640709
2011-01-27 12:21:19 +00:00
Thiago Santos
b43db2f2a2 streamsplitter: release pending events refs
Unref pending events when disposing the streamsplitter.

Also refactor a little to replace a for with a g_list_foreach
2011-01-26 12:52:41 -03:00
Tim-Philipp Müller
11a1acfe88 typefinding: use image/x-icon as media type for ICON files
That's what we've been using so far (e.g. gdkpixbufdec).
2011-01-26 09:06:10 +00:00
Stefan Kost
69436bb8a6 decodebin2: add comment and whitespace trimming 2011-01-25 18:03:58 +02:00
Vincent Penquerc'h
2acdbdabaa typefind: add typefinder for DEGAS images
This fixes at least one DEGAS image from being misdetected as DTS audio.

https://bugzilla.gnome.org/show_bug.cgi?id=625129
2011-01-25 13:39:25 +00:00
Vincent Penquerc'h
7caf9e5e81 typefind: add detection for windows icon files to get them out of the way
Some of them can otherwise be misdetected for MPEG audio.

https://bugzilla.gnome.org/show_bug.cgi?id=620364
2011-01-24 19:54:52 +01:00
David Schleef
3a165c60bf gdppay: make newsegment buffer metadata writable 2011-01-17 13:55:18 -08:00
Tim-Philipp Müller
adb84c6dae typefinding: set framed=false on DTS caps 2011-01-13 13:59:41 +00:00
Edward Hervey
251400a69b encodebin: Add missing-plugin support
https://bugzilla.gnome.org/show_bug.cgi?id=638903
2011-01-07 13:18:20 +01:00
Edward Hervey
d7bdf0d49a encodebin: Extend documentation
https://bugzilla.gnome.org/show_bug.cgi?id=638901
2011-01-07 12:52:37 +01:00
Robert Swain
2c1bf82d55 videorate: Fix behaviour for frame rate cap changes
The outgoing buffer timestamp is calculated by scaling an output buffer
count by the src pad frame rate caps. If these caps change, we need to
reset the count and work from a new base timestamp. The new output
buffer timestamp is then the count scaled by the new caps values added
onto the base timestamp.
2011-01-06 13:12:05 +01:00
Edward Hervey
19201c1ab0 encoding: encoding_profile_get_output_caps => _get_input_caps
Makes more sense name-wise
2011-01-05 22:02:35 +01:00
Edward Hervey
cdd0a9c8bb encodebin: Convert to new GstElementClass::request_new_pad_full vmethod 2011-01-05 19:30:50 +01:00
David Schleef
e3451e5ab8 typefind: Add stream-format to h264 caps 2011-01-02 15:49:42 -08:00
Tim-Philipp Müller
dcd4222716 playbin2: use input-selector from core instead of internal copy 2010-12-31 12:14:22 +00:00
Tim-Philipp Müller
bb786dfb5c typefinding: assume EBML files without doctype are matroska
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 22:36:41 +00:00
Wim Taymans
b1696cf21d multifdsink: only keep last valid timestamp
Fixes #634397
2010-12-29 12:55:24 +01:00
Andoni Morales Alastruey
c41a4d0df4 multifdsink: add first and last buffer's timestamp to the stats 2010-12-29 12:55:24 +01:00
Edward Hervey
c76a6ef8ea encodebin: Also use "Formatter"s for container formats 2010-12-22 18:23:26 +01:00
Alessandro Decina
b11303319c encodebin: minor fix in error handling.
Don't call gst_bin_remove (bin, <invalid pointer>).
2010-12-22 13:56:12 +01:00
Vincent Penquerc'h
f221466099 playbin2: delay stream-changed messages
https://bugzilla.gnome.org/show_bug.cgi?id=637586
2010-12-21 17:42:58 +01:00
Edward Hervey
d20b84f1d2 encodebin: Fix usage of non-container profiles 2010-12-21 13:07:27 +01:00
Rob Clark
aa07af41f3 fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:

encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Leo Singer
5bfe1baab3 audioresample: corrected buffer duration calculation to account for nonzero initial timestamp
Since we calculate timestamps by:

  timestamp = t0 + (out samples) / (out rate)

and durations by:

  duration = ((out samples) + (processed samples)) / (out rate) - timestamp

if t0 is nonzero, this would simplify to

  duration = t0 + (processed samples) / (out rate).

This duration is too large by the amount t0.  We should have done:

  duration = t0 + ((out samples) + (processed samples)) / (out rate) - timestamp

so that

  duration = (processed samples) / (out rate).
2010-12-17 19:34:42 +01:00
Leo Singer
25a154be5f audioresample: changed num_gap_samples, num_nongap_samples from guint32 to guint64 so that gaps of greater than or equal to 2^32 samples do not cause integer overflow 2010-12-17 19:34:42 +01:00
Leo Singer
d6d2aa44ab audioresample: push half a history length, instead of a full history length, at end-of-stream so that output segment and input segment have same duration 2010-12-17 19:34:42 +01:00
Leo Singer
aac8b21678 audioresample: renamed count_gap, count_nongap to more descriptive num_gap_samples, num_nongap_samples 2010-12-17 19:34:42 +01:00
Leo Singer
6832b38527 audioresample: replaced void* with gpointer 2010-12-17 19:34:42 +01:00
Leo Singer
87f2422737 audioresample: initial filter transient discarded; unit tests passing 2010-12-17 19:34:41 +01:00
Leo Singer
b4cd3329a9 Revert "Revert "audioresample: Add GAP flag support""
This reverts commit 35c76b3409.

Conflicts:

	gst/audioresample/gstaudioresample.c
	gst/audioresample/gstaudioresample.h
2010-12-17 19:34:41 +01:00
Sebastian Dröge
32f28f476e videoscale: Change classification to Filter/Converter/Video/Scaler 2010-12-16 10:11:43 +01:00
Edward Hervey
8a3b45aa1f gst: New encoding plugin
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00
David Schleef
525776df79 typefind: Add check for yuv4mpeg 2010-12-14 00:40:58 -08:00
Mark Nauwelaerts
93d68ec77d audioresample: relax discont checking slightly 2010-12-13 10:10:30 +01:00
Mark Nauwelaerts
a7cf165289 audioresample: provide as much valid output ts and offset as valid input
... by independently tracking time and offset, rather than having no offset
leading to no output ts.
2010-12-13 10:10:15 +01:00
Stefan Kost
7728f3d3a7 typefinders: name "aac" typefinder "audio/aac"
This is in sync how we call the others.
2010-12-13 10:42:02 +02:00
Zeeshan Ali (Khattak)
1611f89298 videotestsrc: Add a missing return statement 2010-12-11 19:33:33 +02:00
Sebastian Dröge
09ff04a00a decodebin2: Deprecate new-decoded-pad and removed-decoded-pad signals
They're really the same as pad-added and pad-removed from GstElement
and it doesn't make sense to have two signals for the same thing.
2010-12-11 17:18:49 +01:00
Sebastian Dröge
42dee942d4 decodebin2: Emit "remove-decoded-pad" signal when pads are removed from decodebin2
Fixes bug #636198.
2010-12-11 17:15:28 +01:00
Mark Nauwelaerts
ea7349e4c7 typefinding: improve iso media typefinding
... by also considering compatible brands rather than only aiming at major brand
(of which there are a seemingly ever expanding great many).
2010-12-08 12:55:24 +01:00
René Stadler
1e75501c10 typefind: ignore AC-3 BSIDs 9, 10 and >16
These are reserved for future extensions which will not be backwards
compatible to E-AC-3.
2010-12-07 21:28:20 +02:00
René Stadler
725968c612 typefind: accept consecutive AC-3 frames of different sizes
This is perfectly valid and occurs in particular when there are
(in)dependent substreams present.
2010-12-07 21:28:20 +02:00
René Stadler
0e39c62878 typefind: remove useless masking in (E-)AC-3 typefinders 2010-12-07 21:28:20 +02:00
René Stadler
cc65ba987a typefind: stop scanning after suggesting E-AC-3 caps 2010-12-07 21:28:20 +02:00
René Stadler
886ea051e7 typefind: fix E-AC-3 frame size parsing
Frame size is given in words; it is already multiplied by two where
needed, so the left shift is superfluous. This extra multiplication
caused the code to inspect the third packet instead of the second,
which would fail for files where the second packet has a size
different from the first.
2010-12-07 21:28:20 +02:00
Wim Taymans
f22687bacc use _object_ref_sink() when we can 2010-12-07 11:31:30 +01:00
Wim Taymans
5b4959d5d1 tcp: remove deprecated GDP protocol 2010-12-06 20:01:35 +01:00
Stefan Kost
95b259f9c9 playbin2: add some logging for failure case 2010-12-02 23:04:51 +02:00
Stefan Kost
baa2fbbb68 inputselector: log times in human readable form 2010-12-02 23:04:51 +02:00
Stefan Kost
7f787249bb inputselector: more G_PARAM_STATIC_STRINGS use 2010-12-02 23:04:51 +02:00
Stefan Kost
3b35063ceb inputselector: move reoccuring logs to LOG and remove a double info
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-12-02 23:04:51 +02:00
Sebastian Dröge
b2d716c340 tcp: Remove dead assignment 2010-12-02 19:04:29 +01:00
Sebastian Dröge
66ce6200a8 playsink: gen_video_chain() always returns a bin, no need to check for that 2010-12-02 19:04:28 +01:00
Sebastian Dröge
92133f7ce4 streamsynchronizer: If we get EOS for an unknown stream just do nothing
instead of dereferencing NULL pointers. This can happen if the stream
was just removed from the streamsynchronizer in a bad time.
2010-12-02 19:04:28 +01:00
Sebastian Dröge
fe856a3f7c playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that 2010-12-02 19:04:28 +01:00
Stefan Kost
7b312c5980 uridecodebin: disconnect signal handlers before disposing 2010-11-24 17:53:42 +02:00
Tim-Philipp Müller
1bfefc50af docs: improve decodebin2 docs a little
Mention that new pads may be created even after no-more-pads.

https://bugzilla.gnome.org/show_bug.cgi?id=634584
2010-11-22 00:54:35 +00:00
Tim-Philipp Müller
8a423f8f00 decodebin: fix one more pad template ref leak 2010-11-18 00:33:22 +00:00
Harri Mähönen
7c5e39664e *decodebin*: don't leak pad templates set on ghostpads
https://bugzilla.gnome.org/show_bug.cgi?id=635067
2010-11-18 00:11:41 +00:00
Tim-Philipp Müller
8f039997f0 playbin2: disable streamsynchronizer magic for this release
Some things aren't quite right yet and cause problems (0-sized buffers
with PREROLL flag set cause crashes in elements that don't expect those;
getting pipeline back to preroll/playing again when audio/video streams
have different lengths and a seek past the end of one of the stream
happens doesn't always work, etc.). Needs further investigation in the
next cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=633700
https://bugzilla.gnome.org/show_bug.cgi?id=634699
2010-11-17 01:01:03 +00:00
Sebastian Dröge
1469453cb9 ffmpegcolorspace: Fix IYU1 support
Fix conversions to IYU1, they allocated infinite amounts of memory before
because no conversion to IYU1 was actually implemented and it was running
into an infinite loop trying to find suitable intermediate formats.

Also fix the stride and sizes used for IYU1.
2010-11-03 10:49:35 +01:00
Jan Schmidt
ee303c441d playsink: Fix subpicture overlay when deinterlacing disabled.
Fix a bug when reconfiguring the playsink where the subpicture
stream is broken by attempting to connect it through
streamsynchroniser and second time.
2010-10-28 23:15:43 +01:00
Edward Hervey
a5752d8ea7 decodebin2: Don't add non prerolled stream to topology
If a final stream didn't preroll, don't add it to the topology since
it doesn't give any information at all.

https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:18:17 +02:00
Mark Nauwelaerts
9d0fefc617 uridecodebin: workaround internal decodebin2 failing state change
Fixes #632656.
2010-10-21 19:07:24 +02:00
David Schleef
a3f4bf9c72 Update generated orc code 2010-10-15 13:16:13 -07:00
Sebastian Dröge
d8c1044fbd ffmpegcolorspace: Add support for A420 2010-10-15 11:12:38 +02:00
Tim-Philipp Müller
df6bd68b80 typefinding: fix ADTS caps stream-format detail
Field should be "stream-format", not "stream-type".
2010-10-14 16:46:44 +01:00
Andrzej K. Haczewski
6c5cee1d02 typefinding: extend AAC typefinder to detect LOAS streams
Extend AAC typefinder to recognize LOAS stream as specified by
ISO/IEC 14496-3:2009.

https://bugzilla.gnome.org/show_bug.cgi?id=623918
2010-10-14 16:46:41 +01:00
Stefan Kost
2a00fefd2a *decodebin*: set pad-templates on ghostpads
This makes calling gst_pad_get_pad_template() work.
2010-10-13 23:30:55 +03:00
Stefan Kost
83c14483ed various: add a missing G_PARAM_STATIC_STRINGS flag to object properties 2010-10-13 16:13:31 +03:00
Tim-Philipp Müller
8d29594491 decodebin2: declare decodebin2 stable, deprecate the old decodebin
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 13:05:12 +01:00
Tim-Philipp Müller
8effe1e5ba playbin2: declare stable, deprecate the old playbin
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 12:55:31 +01:00
Sebastian Dröge
491b7af1fa uridecodebin: Set GST_ELEMENT_IS_SOURCE flag
uridecodebin behaves like a source, let's mark it as a source
2010-10-11 14:31:05 +02:00
Zaheer Abbas Merali
b3629a7e1f multifdsink: gdp protocol is deprecated. People should use gdppay instead. 2010-10-07 18:55:34 +01:00
Sebastian Dröge
e82835d08d volume: Regenerate generated orc C code again with an orc fix for loading double parameters 2010-10-08 12:30:33 +02:00
Sebastian Dröge
ca5992bb29 volume: Update generated orc sources 2010-10-08 11:50:43 +02:00
Sebastian Dröge
4a0d435053 volume: Fix unit test failure for the controlled processing functions
Going over integer arithmetic will lead to minimal rounding errors,
leading to +/-1 changes for volume==1.0. Implement the controlled
processing with floating point arithmetic, which was already done
for the C versions anyway.
2010-10-08 11:49:09 +02:00
Sebastian Dröge
19b9460e60 audioconvert: Update generated orc files 2010-10-08 00:01:15 +02:00
Sebastian Dröge
80dbf7a901 volume: Update for orc changes
double parameters are declared with .doubleparam now.
2010-10-08 00:01:15 +02:00
Sebastian Dröge
4e2b6ac13a volume: Update generated orc sources 2010-10-08 00:01:15 +02:00
Sebastian Dröge
3c96cf8917 volume: Fix controlled processing via orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge
d0e96cc90f volume: Actually enable usage of the orc optimized functions 2010-10-08 00:01:15 +02:00
Sebastian Dröge
39ef36b32c volume: Implement int32 processing with orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge
c11ee1a100 volume: Implement controlled processing for int16/1-2ch and int8/1,2,4ch with orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge
0bf4abe581 volume: Implement controlled processing for f64/1ch and f32/1-2ch in orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge
988849a8b4 volume: Convert parts of the controlled processing to orc 2010-10-08 00:01:14 +02:00
Sebastian Dröge
ac38fbc3a7 volume: Implement f64 scaling with orc
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Sebastian Dröge
f5e9d8bb62 audioconvert: Implement remaining conversion functions from/to doubles to orc
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Tim-Philipp Müller
4482cacb24 audiorate: use g_object_notify_by_pspec() if possible
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:54:32 +01:00
Tim-Philipp Müller
82d2669f4f videorate: use g_object_notify_by_pspec() if possible
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:37:10 +01:00
Thiago Santos
6d8cb1f42d streamsynchronizer: Do not advance segment starts beyond stop times
Advance stop times too when they are getting higher than the
stop time of segments, avoiding assertions.

The stop time has to be advanced too so that running time keep in sync
for gapless mode.

https://bugzilla.gnome.org/show_bug.cgi?id=631312
2010-10-07 11:20:48 -03:00
Tim-Philipp Müller
a86613a487 videoscale: use math-compat.h here as well
Hopefully the powers that be don't mind the gst/glib include here
too much.
2010-10-05 19:15:47 +01:00
Tim-Philipp Müller
383f7edaf4 videotestsrc: include new math-compat.h header for rint() on MSVC
Should fix compilation with Visual Studio 2008.

https://bugzilla.gnome.org/show_bug.cgi?id=630802
2010-10-05 19:13:43 +01:00
Sebastian Dröge
bcf7a7341e volume: Update generated orc files 2010-10-01 10:47:08 +02:00
Sebastian Dröge
c1bf1ba843 volume: Improve f32 scaling by using only a single array
Passing the same array as dest and src is invalid anyway because
they're maked with the restrict qualifier.
2010-10-01 10:45:24 +02:00
Arun Raghavan
0cf81938a1 pbutils: add AAC profile detection to codec utils
This moves AAC profile detection to pbutils, and uses this in
typefindfunctions. This will also be used in qtdemux.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_profile()
API: codec_utils_aac_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
c77f88cac6 pbutils: add codec-specific utility functions for AAC
This allows us to add generic codec-specific functionality, like
extracting profile/level data from headers, without having to duplicate
code across demuxers and typefindfunctions.

As a starting point, this moves over AAC level extraction code from
typefindfunctions, so it can be reused in qtdemux, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_sample_rate_from_index()
API: gst_codec_utils_aac_get_level()
2010-09-30 13:09:28 +01:00
Edward Hervey
b8dea19bbd decodebin2: Don't post async-done when not needed
Where it was previously located, we would get async-done for the first
unknown-type, even if other valid streams would appear afterwards.
decode_bin_expose() will take care of posting async-done when the group
is exposed.

But we still want to post it in case the typefinding returned an unknown
type, in which case we will post it after posting an error.

These two changes ensure we do as much as possible before posting async-done.
2010-09-29 18:59:16 +02:00
Edward Hervey
4e781d6fe3 volume: orc fixup for loading float arguments
This is only used with DISABLE_ORC.
2010-09-20 16:29:20 +02:00
Sebastian Dröge
ff45b44e19 typefindfunctions: Add mp3 to the apetag extensions 2010-09-20 11:14:55 +02:00
David Schleef
ff409e474a videotestsrc: Fix regression in ball pattern
Was painting using two different methods.
2010-09-18 13:15:08 -07:00
David Schleef
bec69e20ae orc: update generated files to fix MSVC compile issues 2010-09-16 18:03:23 -07:00
David Schleef
af87634078 videoscale: Don't use broken orc feature 2010-09-16 17:56:49 -07:00
Thijs Vermeir
956a075fc4 videotestsrc: Fix indentation 2010-09-16 17:25:00 +02:00
Thijs Vermeir
8d14994bb5 videotestsrc: add bar pattern
Simple bar with foreground color on the background color
2010-09-16 17:14:20 +02:00
Thijs Vermeir
ef02142125 videotestsrc: fix segfault on negative horizontal-speed 2010-09-15 15:29:47 +02:00
Edward Hervey
75b522dacf decodebin2: Actually dispose the unused ghostpads 2010-09-15 14:17:58 +02:00
Sebastian Dröge
35c76b3409 Revert "audioresample: Add GAP flag support"
This reverts commit 129af0d8e6.

This shouldn't be committed at all, it isn't ready and apparently
was in the wrong branch locally.
2010-09-15 11:28:29 +02:00
Leo Singer
129af0d8e6 audioresample: Add GAP flag support
Fixes bug #586570.
2010-09-15 11:01:45 +02:00
David Schleef
d71890156a videotestsrc: Add UYVP 2010-09-14 13:21:54 -07:00
David Schleef
08be25ce62 videotestsrc: Various improvements
Replace moving-color-bars pattern with smpte100, and change
moving-speed to horizontal-speed.  Default is now 0.  Add
a rotation stage to pattern building.
Allocate a temporary scanline for building images.  Remove
unused code.  Disable several patterns that we're unable to
test and probably never used.  Add other variants of bayer
sampling.  Convert some patterns to use videotestsrc_blend_line.
2010-09-14 13:21:54 -07:00
David Schleef
8e60eca315 videotestsrc: clean up blink pattern 2010-09-14 13:21:54 -07:00
David Schleef
ef981b53b6 videotestsrc: Clean up the RGB code 2010-09-14 13:21:54 -07:00
David Schleef
bb80df3a33 videotestsrc: Convert to intermediate AYUV/ARGB
Scanlines are generated into AYUV/ARGB, then converted to the
various formats.
2010-09-14 13:21:54 -07:00
David Schleef
9802339481 videotestsrc: rearrange code to work on scanlines 2010-09-14 13:21:51 -07:00
David Schleef
9b8da1acfb videotestsrc: Fix recent breakage of smpte75 pattern 2010-09-14 12:33:22 -07:00
Thijs Vermeir
809460c651 videotestsrc: add moving color bars pattern
This pattern is moving the color bars with a given
speed. Negative speed is inverting the moving direction.

https://bugzilla.gnome.org/show_bug.cgi?id=628500
2010-09-14 12:33:21 -07:00
David Schleef
0cceeb2035 videoscale: refactor using more Orc code
Convert downsampling to Orc.  Convert horizontal linear scaling
to Orc.  Combine horizontal and vertical scaling into one pass.
2010-09-14 12:33:21 -07:00
Edward Hervey
168aceb3da playback: Switch to using gst_video_convert_frame
https://bugzilla.gnome.org/show_bug.cgi?id=629157
2010-09-14 08:42:43 +02:00
Mark Nauwelaerts
60cad9f007 decodebin2: prevent another race with shutdown state change 2010-09-13 10:06:13 +02:00
Sebastian Dröge
18b282e49f orc: Fix generated source files 2010-09-10 08:43:17 +02:00
Sebastian Dröge
9b85b13d80 adder: Do debug category initialization in plugin_init again 2010-09-09 11:12:56 +02:00
Sebastian Dröge
3c43dbfc51 orc: Update generated source files everywhere 2010-09-09 10:59:59 +02:00
Sebastian Dröge
8ba4b70118 Revert "Revert "Use init functions for Orc code""
This reverts commit 93aa13639d.

Everything should work now after regenerating the disted source files.
2010-09-09 10:57:41 +02:00
Edward Hervey
91ee8507ef videotestsrc: .gitignore new generate_sine_table 2010-09-06 11:53:35 +02:00
Stefan Kost
c45b9d4aef playback: ref the selector pad class inside input-selector
Minimizes the delta to original element in -bad and allows us to keep the
type static.
2010-09-06 11:44:17 +03:00
David Schleef
d03fc85095 videotestsrc: Use static sine table 2010-09-05 20:59:38 -07:00
David Schleef
131d619737 videotestsrc: Add foreground/background-color properties
Replace solid-color property with foreground-color and add
background-color.  Pull some common code out of each of the
pattern generating functions.  Fix many of the patterns to
use foreground-color/background-color instead of white/black.
Generated images are indentical to previously if foreground-color
and background-color are left as default.

API: GstVideoTestSrc::foreground-color
API: GstVideoTestSrc::background-color
2010-09-05 20:59:34 -07:00
David Schleef
fc3840ee73 videotestsrc: deprecate colorspec property
Fixes: #616392.
2010-09-05 17:05:36 -07:00
Sebastian Dröge
65e5984634 audioconvert: Simplify float->s32 conversion
orc 0.4.7 is doing saturated conversion from floats to integers
and it's not necessary to do this manually anymore.
2010-09-05 12:57:36 +02:00
Sebastian Dröge
dd910ceaf4 audioconvert: Update disted orc files 2010-09-05 12:12:43 +02:00
Sebastian Dröge
4e0673872d volume: Enable float processing with orc again 2010-09-05 12:09:42 +02:00
Sebastian Dröge
24831973c0 audioconvert: Use the ORC double support 2010-09-05 12:09:42 +02:00
Edward Hervey
9e0358930d playback: Switch to gstfactorylist from core
https://bugzilla.gnome.org/show_bug.cgi?id=626181
2010-09-03 19:31:52 +02:00
Stefan Kost
c150945e67 videotestsrc: fix typo in property description 2010-09-02 12:58:34 +03:00
Sebastian Dröge
1c2846a0fc audiorate: Fill segment until the end on EOS 2010-09-01 11:37:37 +02:00
Sebastian Dröge
4da242a6b2 videorate: Fill the segment on EOS or at least produce enough frames to use the complete buffer duration
Fixes bug #628400.
2010-09-01 11:33:12 +02:00
Sebastian Dröge
20d5c6d05c videorate: Don't ignore flow returns when filling the previous segment during NEWSEGMENT handling 2010-09-01 11:22:25 +02:00
Stefan Kost
c50104c94e adder: use GST_BOILERPALTE macro 2010-09-01 10:07:02 +03:00
Edward Hervey
e75e7dfa80 playback: Set queues silent property to TRUE
We don't use the queue signals within playsink.
2010-08-31 10:12:54 +02:00
Sebastian Dröge
c591b98864 uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
Otherwise we might try to enable it for live streams, where this would
cause playback to fail completely.

Fixes bug #628028.
2010-08-27 20:45:19 +02:00
Wim Taymans
93aa13639d Revert "Use init functions for Orc code"
This reverts commit b2051090b4.

Fixes the build again until someone pushes the regenerated .c/.h
files too.
2010-08-27 11:49:47 +02:00
David Schleef
f3a989319b videotestsrc: clean up code
Merge various color structures into one.
2010-08-26 17:20:55 -07:00
David Schleef
c831456188 videotestsrc: Add ball pattern 2010-08-26 17:03:13 -07:00
David Schleef
b2051090b4 Use init functions for Orc code 2010-08-26 17:03:13 -07:00
Stefan Kost
e4d33ef53b volume: make the orc usage for float conditional again
See bug #628009. The tests still fail in the orc code (which we just don't call
now).
2010-08-26 15:19:00 +03:00
Stefan Kost
93b2924485 volume: enable ORC for float in volume 2010-08-25 19:03:51 +03:00
Sebastian Dröge
2ee9360cf6 audioconvert: Require ORC 0.4.7 for the loadl/storel opcodes
And update disted files to allow compilation with no or too old ORC.
2010-08-24 15:07:40 +02:00
Alessandro Decina
842a6c64c5 adder: Make sure FLUSH_STOP is always sent after a flushing seek.
Send FLUSH_STOP right after forwarding the seek event upstream if necessary.
This makes sure that adder->srcpad is not left flushing if seeking fails or if
upstream is blocked.

The same fix was already applied to videomixer in 49b2a946.
2010-08-24 11:43:23 +02:00
Sebastian Dröge
5e0706c74f audioconvert: Use ORC for the float<->int32 conversion
This should speed up standard Vorbis encoding and decoding pipelines a bit.

Thanks to David Schleef for the assistance to get the ORC code right
and explaining everything.
2010-08-24 11:11:49 +02:00
Sebastian Dröge
613c44044a videotestsrc: Fix NV21 rendering
Using the same as for NV12 will result in wrong colors and crashes.
2010-08-24 09:51:46 +02:00
Sebastian Dröge
ac59769604 videorate: Mark duplicated frames with the GAP flag
We currently don't use the GAP flag for video and the docs say
that this is for buffers, that have been created to fill a gap
and contains neutral data. For video this is the previous frame.

This information can be used by encoders to encode the duplicated
frames more efficiently. See bug #627459.
2010-08-20 12:03:44 +02:00
Sebastian Dröge
cd5527fa4e ffmpegcolorspace: Add back support for 8 bit paletted RGB
This was removed by 3a00a97fd2
while making the pad template caps more compact.

Fixes bug #626629.
2010-08-19 18:51:25 +02:00
Edward Hervey
8b4bea5f6a playback: Delay usage of GstFactoryList
By delaying it to when it's actually needed, we speed things up a bit
since some elements might have been added/removed in between.

https://bugzilla.gnome.org/show_bug.cgi?id=626718
2010-08-13 17:00:05 +02:00
Robert Swain
268270d35e playbin2: uridecodebin: add property to configure ring buffer size 2010-08-13 16:48:22 +02:00
Tim-Philipp Müller
2dab0a8928 ffmpegcolorspace: remove chroma-site and color-matrix fields from RGB caps 2010-08-12 11:46:39 +01:00
Mark Nauwelaerts
9975a2d7b4 streamsynchronizer: prevent deadlock with _chain when deactivating pad
Fixes #626581.
2010-08-12 12:07:34 +02:00
Stefan Kost
596d148390 playback: bad bad editor, readd missing line to fix the build 2010-08-12 12:51:35 +03:00
Mark Nauwelaerts
c1a705acbc streamsynchronizer: send preroll buffer when delaying preroll eos
That is, if eos is received which will not be forwarded, and the stream
has not yet seen any data, then send a buffer to preroll downstream
(which might otherwise be accomplished by the eos event).
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts
2379e96bbc playsink: remove some heuristic in chain configuration code
.. since queues are now inserted unconditionally.
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts
6c5b437118 playbin2/playsink: update subtitle handling for streamsynchronizer
Streamsynchronizer excepts to see stream-changed msg for all streams, but to
arrange for this, video and subtitle streams need to be decoupled by means
of queues (due to pad blocks that may occur).

Fixes #626463.
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts
ff8bdcfe94 playsink: always have a queue in chain head to aid streamsynchronizer
Specifically, as the latter may have one thread pushing EOS to several streams,
that needs to be decoupled into various thread to prevent preroll hanging
problems.
2010-08-12 10:52:58 +02:00
Mark Nauwelaerts
385446bc90 streamsynchronizer: drop lock when pushing eos downstream
... to prevent deadlock (e.g. upon seek) when downstream waits in preroll.
2010-08-12 10:52:58 +02:00
Mark Nauwelaerts
837d524ef0 streamsynchronizer: clear stream eos state on FLUSH and new stream 2010-08-12 10:52:58 +02:00
Mark Nauwelaerts
1a40681f53 playsink: set READY sinks to NULL before freeing chain upon failure 2010-08-12 10:52:58 +02:00
Stefan Kost
23cadbae94 playback: move tests from plugin-dir to tests/examples/playback 2010-08-12 10:52:34 +03:00
Sebastian Dröge
4d757a29ee videoscale: Only set the PAR if the caps already had a PAR
Otherwise we're producing different caps and basetransform thinks that it
can't passthrough buffer allocations, etc.

In 0.11 all video caps really should have the PAR set...
2010-08-11 18:10:45 +02:00
Mark Nauwelaerts
be6fb6e747 videotestsrc: add solid-color pattern
... which generalizes the current listing of white, black, etc.
In particular, also allow specifying alpha channel, and modify
some structures and pattern filling to cater for alpha value as well.

Fixes #624919.

API: GstVideoTestSrc:solid-color
2010-08-09 09:47:41 +02:00
Wim Taymans
908afd4b15 decodebin2: use more efficient way of getting caps
When inspecting the caps of a pad, try to get the pad _CAPS first before calling
the getcaps function.
2010-08-04 10:33:31 +02:00
Thiago Santos
d123ab7bb1 typefind: Detect avc1 ftyp as video/quicktime
Detects avc1 ftyp as video/quicktime (iso variant)
2010-08-01 06:53:28 -03:00
Tim-Philipp Müller
818f395402 streamsynchronizer: fix printf format compiler warnings
Make OSX build bot happy.
2010-07-26 20:25:55 +02:00
Sebastian Dröge
53318f20cc videorate: Fixate the pixel-aspect-ratio if necessary 2010-07-26 16:05:44 +02:00
Sebastian Dröge
175aae9e85 streamsynchronizer: Delay EOS events until all streams are EOS
This fixes a race condition in playbin2's gapless mode, where the
EOS of other streams might arrive in the sinks before the last stream
ends and the switch to the new track happens. The EOS sinks won't
accept any new data then and playback stops.

To prevent this, delay all EOS events until all streams are EOS
and advance the sinks of the EOS streams by filler newsegment
events if necessary.

Fixes bug #625118.
2010-07-24 18:17:43 +02:00
Arun Raghavan
ae03de8ff8 typefindfunctions: export 3gp profile in caps
This reads the 3gp profile from the major/compatible brands and puts
this as a 'profile' field in caps. This can be used by demuxers to
decide whether they can handle this stream or not. Also needed for
DLNA.

https://bugzilla.gnome.org/show_bug.cgi?id=620291
2010-07-24 10:50:45 +01:00
Parthasarathi Susarla
aad661ec77 typefinding: detect enhanced AC-3
https://bugzilla.gnome.org/show_bug.cgi?id=623846
2010-07-24 09:48:41 +01:00
Sebastian Dröge
ec3c19189d streamsynchronizer: Fix another deadlock when going PAUSED->READY while streams are waiting for the GCond 2010-07-22 09:13:48 +02:00
Edward Hervey
b93edac480 playsink: Switch to faster pad linking methods
Logic for choice of GST_PAD_LINK_CHECK_* is as follows:
* Where return of pad_link wasn't checked before : NOTHING
* Where linking is between known compatible elements : NOTHING
* All other cases : TEMPLATE_CAPS

Slashes down playsink reconfigure by up to 50% cpu time.
2010-07-20 21:05:45 +02:00
Sebastian Dröge
c199a560a9 playsink: Set add-borders=true on the videoscale instances
This makes sure that we always keep the display aspect ratio and
add black borders if necessary, which is usually something you want
for viewing a video.
2010-07-19 15:59:17 +02:00
Sebastian Dröge
6fb91f7711 videoscale: Rename borders property to add-borders 2010-07-19 15:59:17 +02:00
Tim-Philipp Müller
ef4dc0ccf4 videoscale: update disted orc files for latest changes 2010-07-19 09:39:28 +01:00
Sebastian Dröge
52e711b11d videoscale: Add support for adding black borders to keep the DAR if necessary
Fixes bug #617506.
2010-07-18 15:44:14 +02:00
Sebastian Dröge
619e5b6e44 videoscale: Fix linear scaling of UYVY scanlines
Fixes bug #624656.
2010-07-18 15:44:14 +02:00
Sebastian Dröge
fc9de9e0a1 videoscale: Fix caps fixating if the height is fixed but the width isn't 2010-07-18 15:44:14 +02:00
Sebastian Dröge
58c77eb1b4 videoscale: Remove interlaced scaling again
This behaviour was not preferred and caused visible image quality
degradations. The real solution would be, to apply a real
deinterlacing filter before scaling the frames.

Fixes bug #615471.
2010-07-18 15:44:13 +02:00
Sebastian Dröge
9fe51a4a50 videoscale: Add helper method for filling the VSImage struct 2010-07-18 15:44:13 +02:00
Tim-Philipp Müller
bd0adb11fd typefinding: make mpeg-ts typefinder scan more data
We only look for packets with payload, but it appears there may be packets without,
which makes it harder to find the N packets with payload in a row that we need in
order to typefind this successfully, so scan some more data than necessary in the
optimistic scenario. Alternatively we could change IS_MPEGTS_HEADER().

Fixes #623663.
2010-07-18 11:37:11 +01:00
Sebastian Dröge
a16024d9fb playsink/streamsynchronizer: Remove and deactivate pads after calling the change_state function of the parent class
Fixes some deadlocks.
2010-07-16 18:51:35 +02:00
Sebastian Dröge
1605bef4b9 streamsynchronizer: Drop DISCONT flag on first buffer for new streams
Also reset stream state when going back to READY and on flush-stop.
2010-07-16 18:25:38 +02:00
Sebastian Dröge
405b47a79a playsink: Fix gapless playback in many non-simple scenarios
Before gapless playback failed when switching between audio-only,
video-only and audio-video files, when choosing different clocks
and when the different streams had different durations.

This is now handled by a helper element, which keeps track of the
running times of all streams and synchronizes them.

Fixes bug #602437.
2010-07-16 17:40:46 +02:00
Sebastian Dröge
f835533cb4 playbin2: Remove QOS event adjustments for gapless playback mode 2010-07-16 17:40:46 +02:00
Philip Jägenstedt
72ca12e4c1 typefind: only associate .webm with WebM
.weba (audio) and .webv (video) were speculation on my part before
the public launch. As of yet no decision has been made on the
file extension for audio-only WebM, and I'm pretty sure there will
never be one for video-only.

Fixes bug #623837.
2010-07-16 17:40:45 +02:00
Mark Nauwelaerts
5e7ff51d19 playsink: use proper error message code for failing state change 2010-07-16 13:26:26 +02:00
Sebastian Dröge
8bd37ab995 playbin2: Disconnect and destroy uridecodebins when going from READY to NULL
Fixes spurious errors that happen after an error and playing a working
stream afterwards or signals that are emitted for non-active groups.

Fixes bug #624266.
2010-07-14 15:11:17 +02:00
Sebastian Dröge
115e503bdf Revert "playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2"
This reverts commit 9d7538247f.

If the DVD subpicture caps are not part of the raw caps, uridecodebin
doesn't qualify resindvdbin as raw source and plugs decodebins, which
causes broken DVD playback because of bugs elsewhere.

This change was originally added to only expose supported, raw subtitles,
e.g. if the subtitle sink did not support DVD subpictures but a converter
to some supported format exists. It's not very important right now because
we have nothing (that is autoplugged) to convert from plaintext/pango-markup
or DVD subpictures to something else.

Fixes bug #623583.
2010-07-06 09:47:45 +02:00
Sebastian Dröge
6e9deae749 ffmpegcolorspace: Use correct Y offset for YVYU -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge
d774b46077 ffmpegcolorspace: Use correct Y offset for the YUY2 -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge
263201d9e7 ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to 8 bit grayscale
The last pixel wasn't written before for odd widths.

Fixes bug #623418.
2010-07-02 20:09:58 +02:00
Sebastian Dröge
9c9f97251a ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
The last pixel wasn't written before.

Fixes bug #623384.
2010-07-02 14:58:37 +02:00
Sebastian Dröge
ef4165f08b ffmpegcolorspace: Fix invalid memory accesses with odd widths/heights during subsampling
Fixes bug #623375.
2010-07-02 13:59:55 +02:00
Sebastian Dröge
bc0eefaead playbin2: If setup of the source element fails in READY->PAUSED deactive the current group
Otherwise the uridecodebin will be still a child of playbin2 and
its signals will still be connected. In future state changes this
will then emit unrelated signals that will confuse playbin2 or,
even worse, cause crashes and assertions.

Fixes bug #623318.
2010-07-01 21:29:14 +02:00
Sebastian Dröge
47317338e9 videotestsrc: Explicitely link with $(LIBM) 2010-06-27 06:38:24 +02:00
Sebastian Dröge
a75aa2a20c videoscale: Explicitely link with $(LIBM) 2010-06-27 06:38:24 +02:00
Tim-Philipp Müller
b16e7e8fa2 gst: update orc files 2010-06-26 18:19:33 +01:00
Edward Hervey
ec637580a8 decodebin2: Properly clean DecodeChain after errors.
If an error happens, the PAUSED state will never be reached. If an
application re-uses decodebin2 (like totem) where one would normally
set to READY between each file, the cleanup that normally happens in
the PAUSED=>READY codepath will never be called, resulting in the
following file to re-use the previous demuxer/decoder/...

https://bugzilla.gnome.org/show_bug.cgi?id=622807
2010-06-26 17:57:24 +02:00
Edward Hervey
3a00a97fd2 ffmpegcolorspace: Use a more concise pad template
Speeds up caps nego 2 fold

https://bugzilla.gnome.org/show_bug.cgi?id=622696
2010-06-25 17:07:12 +02:00
Arun Raghavan
026e5d3e67 typefinding: Mark ISO 14496-14 files as video/quicktime
These are currently being marked as audio/x-m4a which is incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=620720
2010-06-24 14:25:38 +01:00
Sebastian Dröge
153b21fc85 videoscale: Fix resampling of ARGB scanlines
Previously we would read behind the end of the source lines.
2010-06-24 12:06:05 +02:00
Wim Taymans
7379202cca playsink: clear ts-offset pointer
We need to clear the pointer to our ts-offset element when we destroy the video
chain elements to make sure nobody derefs it to invalid memory afterwards.
2010-06-23 12:10:32 +02:00
Edward Hervey
97e14fda28 playsink: Reset ts_offset field when freeing chain
Otherwise we would end up with a bogus ->audiochain->ts_offset field
which would cause segfaults/assertions when trying to modify the
'ts-offset' property in update_av_offset().

Was easy to trigger when using a list of audio+video files mixed with
video-only files in totem.
2010-06-23 10:16:07 +02:00
Sebastian Dröge
cff70878b6 ffmpegcolorspace: Add YUY2/YVYU to all RGB formats conversions 2010-06-17 17:21:01 +02:00
Sebastian Dröge
21cb7fd0ff ffmpegcolorspace: Fix Y42B to YUY2/YVYU/UYVY conversion for odd widths 2010-06-17 17:21:01 +02:00
Sebastian Dröge
bd56c3c44f ffmpegcolorspace: Fix YUY2/YVYU/UYVY to Y42B conversion for odd widths 2010-06-17 17:21:00 +02:00
Wim Taymans
6d2621d02c decodebin2: improve autoplugging
Use the pad caps when they are available to continue the autoplugging. If the
pad caps are set, they are fixed and then we can directly continue autoplugging.
2010-06-16 19:17:05 +02:00
David Schleef
7778ed7382 videoscale: Fix black horizontal line in image 2010-06-14 15:46:53 -07:00
Edward Hervey
7b2584ed68 typefindfunctions: Fix unitialized variables
yay macosx compilers :(
2010-06-14 14:13:32 +02:00
Edward Hervey
801cab604d ffmpegcolorspace: Use Quarks for structure name/field checking 2010-06-14 13:28:54 +02:00
Edward Hervey
3f1f8f66ed ffmpegcolorspace: Speed up _remove_format_info
Instead of copying full caps, use the fact that the provided caps only have
one structure and only copy around structures.
2010-06-14 13:28:54 +02:00
Edward Hervey
19f5fda87d ffmpegcolorspace: Transfer structures instead of copying them
Avoids many expensive structure copies
2010-06-14 13:28:50 +02:00
Prahal
2cb7cfab19 decodebin2: use accumulator for autoplug-sort
Use an accumulator for the autoplug-sort signal so that we can stop the emission
when a signal handler produced a valid result. This avoids the object handler
to overwrite the results from user signals.

Fixes #621161
2010-06-14 11:19:10 +02:00
Sebastian Dröge
fa8fd0d7f6 videoscale: ...and add Y16 case for the linear scaling 2010-06-13 20:57:19 +02:00
Sebastian Dröge
c2e01e09c4 videoscale: Add Y16 case for 4-tap scaling 2010-06-13 20:38:23 +02:00
Sebastian Dröge
c2bdfc11af videoscale: Use correct variables for debug output 2010-06-12 21:04:48 +02:00
Sebastian Dröge
cef0bc9657 ffmpegcolorspace: Fix Y16 from/to GRAY8 conversion 2010-06-12 16:51:41 +02:00
Sebastian Dröge
398c1c5fc8 ffmpegcolorspace: Don't crash when doing gray YUV to GRAY conversion 2010-06-12 16:31:49 +02:00
Sebastian Dröge
2ec067c9fc videoscale: Update disted orc files 2010-06-12 16:23:23 +02:00
Sebastian Dröge
dc110b3b37 uridecodebin: Allow video/webm for progressive downloading 2010-06-12 16:16:37 +02:00
Sebastian Dröge
c3cfb404ae videoscale: Add support for more gray formats 2010-06-12 13:59:32 +02:00
Sebastian Dröge
b4c2af416d videoscale: Use libgstvideo for caps parsing, etc 2010-06-12 13:51:26 +02:00
Sebastian Dröge
d91e3d8d78 videoscale: Use GST_VIDEO_CAPS_GRAY{8,16} 2010-06-12 13:00:26 +02:00
Sebastian Dröge
944cfa5871 videoscale: Implement linear merging of Y16 scanlines with orc 2010-06-12 12:57:14 +02:00
Tim-Philipp Müller
b5a7e96291 typefinding: look for dts frames at non-zero offsets too
Scan a bit into the data when checking for dts frames instead
of expecting the frame sync to be right at the start of the
data. This is needed for some dts-disguised-as-pcm-in-wav files.

See #413942.
2010-06-11 15:59:54 +01:00
Tim-Philipp Müller
9235c91bec typefinding: add typefinder for dts audio 2010-06-11 15:59:53 +01:00
Sebastian Dröge
2b9670958d playbin2: If the text-sink claims to support ANY caps assume it only support raw plaintext subtitles
Fixes bug #621071.
2010-06-10 13:06:54 +02:00
Stefan Kost
487c88ca42 volume: make the orc codes available for testing.
Add a USE_ORC define for now and switch 'this' to 'self'. Having orc enabled
passes the test suite and various manual gst-launch pipelines.
2010-06-09 16:59:10 +03:00
Tim-Philipp Müller
164a91d10d Fix build if orc is not installed
Orc is not a hard requirement. Things should still compile and
work without orc, but slow fallback code may be used in this
case. Fix up configure to not error out if orc is not installed
and wrap use of orc profiling in audioresample in #ifdefs.

Fixes #620136 some more.
2010-06-08 13:26:53 +01:00
David Schleef
d7f7e1cc23 audioconvert, videotestsrc: Update generated Orc code
Fixes compile errors with initialization of unions.
2010-06-08 00:33:31 -07:00
David Schleef
e39e729a70 audioresample: convert from liboil to orc 2010-06-07 23:58:54 -07:00
David Schleef
3bbdc0c5a2 volume: convert from liboil to orc 2010-06-07 23:58:54 -07:00
David Schleef
dbcf70eaae videotestsrc: convert from liboil to orc 2010-06-07 23:58:54 -07:00
David Schleef
dbfd5a5af8 videoscale: convert from liboil to orc 2010-06-07 23:58:54 -07:00
David Schleef
c49806ed16 audioconvert: convert from liboil to orc 2010-06-07 23:58:53 -07:00
David Schleef
c4ab9c0de8 adder: convert from liboil to orc 2010-06-07 23:58:53 -07:00
Wim Taymans
ecc9a28152 playbin2: add av-offset property
Add av-offset property to control the audio and video sync offset. This can be
used to to manually correct badly synced streams.

See #620529
2010-06-07 14:38:42 +02:00
Sebastian Dröge
39b68dc2a8 ffmpegcolorspace: Map "Y8 " and "GREY" to "Y800" and add it to the template caps 2010-06-07 08:31:53 +02:00
Martin Bisson
4c0b39b680 ffmpegcolorspace: Add support for Y800 and Y16
Fixes bug #620441.
2010-06-07 08:18:04 +02:00
Tim-Philipp Müller
261a1447fa typefinding: fix log function printf format issue 2010-06-06 16:46:55 +01:00
Tim-Philipp Müller
d4269515fa typefinding: stop jpeg typefinding once we found a SOF marker 2010-06-05 18:25:51 +01:00
Tim-Philipp Müller
95b4de4ed7 typefinding: improve jpeg typefinder
Make jpeg typefinder check more than just the first two bytes
plus Exif or JFIF marker. This allows us to report MAXIMUM
probability in cases where there's no Exif or JFIF marker,
making typefinding stop early. Also extract width and height,
because we can.
2010-06-05 18:06:42 +01:00
Tim-Philipp Müller
14d14a9143 typefinding: fix AC-3 typefinding so that it actually checks for a second frame
Fix typo that made the AC-3 typefinder not actually check for a
second frame, but rather compare the sync point found to itself,
which resulted in the AC-3 typefinder reporting an overly optimistic
MAXIMUM or VERY_LIKELY probability when it found a possible frame
sync.
2010-06-05 17:24:31 +01:00
Wim Taymans
13f6829497 playbin2: improve screenshot code
Use appsrc and appsink in the screenshot code to make things nicer.
2010-06-05 12:27:12 +02:00
Wim Taymans
31ef191f01 playsink: add convert-frame action signal
Add a convert-frame action signal.

Fixes #620279
2010-06-05 11:09:41 +02:00
Wim Taymans
3cf75c34d3 playbin2: move marshaller to screenshot
Move the marshaller for the convert_frame signal to the screenshot file in
preparation for moving it to playsink.

See #620279
2010-06-05 11:09:41 +02:00
Wim Taymans
afcf3a3517 playbin2: move convert_frame to playsink
Move the convert_frame function to playsink and make it part of the API. This is
in preparation to add the convert_frame signal to playsink.

See #620279
2010-06-05 11:09:40 +02:00
Wim Taymans
823089cf68 playsink: add property to get the last frame
Add a property to get the last video frame.

See #620279
2010-06-05 11:09:40 +02:00
Edward Hervey
cbff745b49 decodebin2: Handle raw streams we don't want.
If a file contains raw streams (not requiring a decoder) that we do
not want (expose-all-streams == FALSE), we would previously consider
those of unknown-type (missing a decoder) ... whereas in fact it was just
because they don't need decoders.

This only applies if expose-all-streams is FALSE.
2010-06-04 19:30:14 +02:00
Edward Hervey
514a34b255 audiorate: Fix buffer offset_end when within tolerance.
This fixes issues if we then have downstream elements that operate
on offset/offset_end.

And add the expected timestamp in the debug logs
2010-05-26 08:51:09 +02:00
Sebastian Dröge
e3285fb53d videotestsrc: Fixate interlaced, chroma-site and color-matrix fields if necessary 2010-05-22 10:05:40 +02:00
Sebastian Dröge
258e519b49 videorate: Use new string fixation function from core 2010-05-22 10:02:46 +02:00
Sebastian Dröge
b1a9af61c7 videorate: Fixate color-matrix and chroma-site fields if necessary 2010-05-22 09:53:22 +02:00
Sebastian Dröge
220a61f821 videorate: Fixate the interlaced field if necessary
Fixes bug #619310.
2010-05-22 09:53:18 +02:00
Sebastian Dröge
760ae91ec3 typefindfunctions: Add IVF typefinder 2010-05-22 08:55:51 +02:00
Tim-Philipp Müller
33b5172822 videorate: pass object to logging functions, use GST_DEBUG_FUNCPTR 2010-05-21 18:16:07 +01:00
Philip Jägenstedt
3762cfd3d7 typefind: Detect WebM as video/webm
Refactor matroska_type_find into ebml_check_header and a new
matroska_type_find and webm_type_find.
2010-05-19 19:24:35 +02:00
Alessandro Decina
a9c6c978b6 playbin2: fix a typo introduced by 9d753824.
video/x-raw-float => audio/x-raw-float. Fixes #619090.
2010-05-19 16:17:19 +02:00
Sebastian Dröge
9d7538247f playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2
We handle them from the autoplug-continue signal, where the caps supported
by the subtitle sink or overlay are known already.
2010-05-18 08:45:52 +02:00
Sebastian Dröge
0c85f2c890 playsink: Don't fail if subtitles are used but only audio is available and no visualizations
Instead simply disable displaying of the subtitles for now, as was
intended by that part of code...

Fixes bug #610866.
2010-05-14 17:17:33 +02:00
Sebastian Dröge
e5304c3040 playsink: Fix deadlock caused from an additional lock instead of unlock
Also improve debug output for the playsink lock.
2010-05-14 17:13:17 +02:00
Sebastian Dröge
a6a125e4ba videoscale: Use passthrough mode if width and height are not changed
It doesn't matter if the PAR changes or not, processing of every pixel
is only necessary when the width or height changes.
2010-05-13 12:17:31 +02:00
Sebastian Dröge
b3808a57d4 videoscale: Try harder to keep the DAR if possible
Fixes bug #371108.
2010-05-13 11:16:02 +02:00
Sebastian Dröge
9f677090d5 videoscale: Log PAR and DAR of input and output caps when setting caps 2010-05-13 11:16:01 +02:00
Sebastian Dröge
eb2166c97d videoscale: Set input width/height if the output caps don't have any width or height 2010-05-13 11:16:01 +02:00
Andoni Morales
75a2e14e06 videoscale: Try to keep DAR when scaling
Fixes bug #371108.
2010-05-13 11:16:01 +02:00
Sebastian Dröge
1990364816 videotestsrc: Fixate PAR to 1/1 if possible 2010-05-12 10:32:48 +02:00
Edward Hervey
37e975b8cc ffmpegcolorspace : whooops 2010-05-07 19:49:57 +02:00
Edward Hervey
516c824687 ffmpegcolorspace: more minor cleanups 2010-05-07 19:21:13 +02:00
Edward Hervey
0d451ad9cb ffmpegcolorspace: speedup caps transformation
* don't re-create our possible caps every single time, just use the
  template caps.
* don't intersect the caps against the template, basetransform has already
  done that for us.

62% speedup of _transform_caps() (instruction calls, measured with callgrind)
2010-05-07 17:38:46 +02:00
Edward Hervey
20d643ccda uridecodebin: add the 'expose-all-streams' property from decodebin2
API: expose-all-streams

https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:38:45 +02:00
Edward Hervey
ac4188bd54 decodebin2: Add a property to not expose/decode all streams
API : expose-all-streams

If disabled:
* only the streams that CAN be decoded and match the final caps will have a
  decoder plugged in and be exposed.
* the streams that COULD HAVE BEEN decoded but do not match the finals caps
  will not have a decoder plugged in and will not be exposed.

If no decoder is available to decode a certain stream, then the missing element
message will still be emitted regardless of the value of the property.

https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:38:38 +02:00
Edward Hervey
e84b203de2 decodebin2: rename are_raw_caps to are_final_caps, correct comment
https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:18:37 +02:00
Stefan Kost
4965782c48 audioconvert: disambigue comment due to popular demand
Write "target depth" instead of "our depth" or previous ambigous "out depth".
2010-05-07 00:10:22 +03:00
Mark Nauwelaerts
85a8a09ce7 playsink: disconnect signals in some more cleanup cases 2010-05-06 15:41:52 +02:00
Stefan Kost
4967d4e3fd videoscale: use can_intersect to avoid a caps copy 2010-05-06 09:17:33 +03:00
Stefan Kost
948d06e4b3 videorate: trucate own caps, instead of copying and using the first only
We got the caps from an intersect, it is our own, hence we can truncate it.
Besides gst-indent has chooses to line-up all caps in one line again :/.
2010-05-06 09:14:25 +03:00
Stefan Kost
34f8ab5751 decodebin: use can_intersect to avoid a caps copy 2010-05-06 09:12:32 +03:00
Stefan Kost
51739d562c audioconvert: fix typo in comment 2010-05-06 08:22:36 +03:00
Wim Taymans
f99cb8b9bd uridecodebin: add all qtdemux types to downloadable types
Add all the media types that qtdemux can handle to the list of downloadable
types.
2010-05-04 17:54:01 +02:00
Mark Nauwelaerts
db4ccd8610 playbin2: forward duration query duration during group switch if no cached duration
... such as during first group setup.

Fixes #616396.
2010-04-30 13:36:59 +02:00
Stefan Kost
274f80c7a1 adder: only accept seek-types none and set
Previously we were also acting on cur and end, but treating them like none.
2010-04-30 09:24:14 +03:00
Stefan Kost
ab223520ed adder: rework timestamping
Adder was using always incrementing timestamps. Seeking was done by setting the
position in the newsegment event. This was failing when doing segmented seeks
with rate<0.0, as offset (and thus timestamp) would go below 0.

Now we take both cur and end from the seek event. We construct newsegment events
depending including cur and end from the seek event. We set position to the
start of the segment. Timestamp is set to start or end of segment depending on
rate. Offset is recalculated.
2010-04-30 09:24:13 +03:00
Sebastian Dröge
eec0f7c876 playsink: Add support for deinterlacing
This is disabled by default and can be enabled with the
deinterlace flag.

Fixes bug #547603.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
a6be04a73a playbin2: Add flag for enabling/disabling automatic deinterlacing 2010-04-29 18:21:21 +02:00
Sebastian Dröge
1a9c07e5ba playbin: Use g_once_init_{enter,leave} instead of GOnce for enum/flag registration 2010-04-29 18:21:21 +02:00
Sebastian Dröge
bd64568bf4 ffmpegcolorspace: Use GST_BOILERPLATE and use GstVideoFilter as base class
This gives automatic QoS handling.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
6c9ead7030 playsink: Correctly reconfigure the video chain when switching from a subtitle to a non-subtitle file
Fixes bug #616422.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
cc8a5bdcd3 playbin2: If a text sink is provided, let subtitle parsing be done by decodebin2 if required
This way subtitle sinks only get buffers in the format that they
understand, i.e. raw parsed text in most cases.

Fixes bug #614942.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
5cfd799076 playbin2: Set subtitle encoding on the decodebins again 2010-04-29 18:21:21 +02:00
Sebastian Dröge
838d76dc4b videoscale: Some random cleanup 2010-04-29 18:21:21 +02:00
Sebastian Dröge
43b370358d videoscale: Add support for Y444, Y42B and Y41B 2010-04-29 18:21:21 +02:00
Sebastian Dröge
2fb31ad43c videoscale: Reorder template caps by the amount of information contained in the color formats 2010-04-29 18:21:21 +02:00
Joshua M. Doe
8dfa792bc9 videorate: add support for video/x-raw-gray 2010-04-29 18:21:21 +02:00
Sebastian Dröge
b5853bf8ba ffmpegcolorspace: Fix Y41B->Y444 conversion
...which is the intermediate conversion for conversion to all
other formats.

Fixes bug #616545.
2010-04-22 20:58:29 +02:00
Sebastian Dröge
0a8b8ceda0 audiorate: Don't leak the input buffer in error cases
Fixes bug #615572.
2010-04-16 20:51:48 +02:00
Tim-Philipp Müller
b5f0b7c221 build: use LDADD instead of LDFLAGS to specify libs to link to when building executables
Use foo_LDADD instead of foo_LDFLAGS to specify the libraries to link to.
This should make sure arguments are passed to the linker in the right
order, and makes LDFLAGS usable again.

Based on initial patch by Brian Cameron <brian.cameron@oracle.com>

Fixes #615697.
2010-04-14 14:08:15 +01:00
Tim-Philipp Müller
555a3a5d14 typefinding: add channels and rate to ADTS caps if we can 2010-04-12 15:04:31 +01:00
Arun Raghavan
43a04483d9 typefinding: add AAC level to ADTS caps
This adds code to calculate the level for a given AAC stream and export
it in the stream caps. For AAC LC streams, the level is calculated
according to the definition under the AAC Profile. For other streams,
the definition under the Main Profile is used.

HE-AAC support is still to be done, and is dependent on detecting the
presence of SBR and PS in the stream.

Level is added as a field of type string because that's the way it's
done in H.264 caps as well. There are only a few possible levels, so
not using a numerical type is not too painful in this case, and
consistency is nice.

Fixes #613589.
2010-04-12 15:04:31 +01:00
Arun Raghavan
34dcb8458e typefinding: add AAC profile to ADTS caps
This looks at the AAC profile for ADTS streams and adds the profile as a
string in the corresponding caps.

Profile is the actual profile, base-profile denotes the minimum codec
requirements to decode this stream. In this case they're always the
same, but they may differ e.g. in case of certain HE-AAC streams that
can be partially decoded by LC decoders (with loss of quality of course)
if no suitable HE-AAC decoder is available.

Fixes #612312.
2010-04-12 15:04:23 +01:00
Stefan Kost
57cc1150a9 adder: add support for negative playback rates
Decrement sample counter when playing backwards. Set proper segment when playing
backwards (0..cur instead or cur..-1). Add more logging and fix a format string.
2010-04-11 23:23:39 +03:00
Tim-Philipp Müller
62b1764552 playback, ogg: dist new gstplayback.h and gstogg.h 2010-04-09 09:26:08 +01:00
Thomas Green
57b64c001a playbin: Only unref the volume element on dispose and when a new audio sink is set
Unreffing it whenever the sinks are removed will make the volume
element unavailable after a playbin reuse because it is only
recreated if the audio sink has changed.

Fixes bug #614288.
2010-04-09 08:23:33 +02:00
Stefan Kost
45b39fcfc1 audiotestsrc: swap timestamps in forward and reverse mode.
In reverse mode we want use the next next timestamp (and not the other way
around). Fixes the tests again. Also readd a log line that was dropped with
previous commit.
2010-04-03 22:52:01 +03:00
Stefan Kost
718edb5c14 audiotestsrc: implement reverse playback
Support playback at negative rates. When having a GstController assigned, the
element will produce time dependend output.
2010-04-02 21:04:37 +03:00
Edward Hervey
8db7eb4037 gstplaysink: Remove unused variable.
The value of klass is never used
2010-04-01 13:55:15 +02:00
Edward Hervey
a58183459f decodebin2: Removing dead assignment.
The value of group is overwritten a few lines below before being used.
2010-04-01 13:53:37 +02:00
Robert Swain
6515b43e40 playsink: Fix aduio_raw_sink typo 2010-03-30 15:10:42 +02:00
Tim-Philipp Müller
e1f38a685b build: build plugin and example directories in parallel if make -jN is used
We know our plugins and examples are independent of each other, so may
just as well build them in parallel. Makes the output a bit messy, but
that shouldn't be a problem and can easily be avoided with make -j1.
2010-03-29 00:26:59 +01:00
Wim Taymans
133f804d2d uridecodebin: we can handle avi in download mode too
Add avi to the whitelisted types that can be used for download buffering.
2010-03-26 18:24:58 +01:00
Sebastian Dröge
08589317f8 videotestsrc: Only set color-matrix and chroma-site for relevant formats
The color-matrix only makes sense for colorful formats, i.e. not Y800
and the chroma-site only for non-4:4:4(:4) formats.
2010-03-19 16:43:14 +01:00
Tim-Philipp Müller
58a92964c6 build: Makefile.am fixes
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Sebastian Dröge
bbdc60fbcb videoscale: Use correct boundary checks for YUY2/UYVY
Fixes bug #613093.
2010-03-17 16:47:31 +01:00
Sebastian Dröge
5f10a8a9b5 volume: Remove useless cast
It's not necessary anymore after latest core change to GstValueArray.
2010-03-17 15:41:45 +01:00
Benjamin Otte
253d9acbcd Fix for -Wold-style-definition
I didn't add the flag to configure because libvisual ships headers that
trigger this warning.
2010-03-17 12:09:25 +01:00
Benjamin Otte
1471df894a Add -Wformat-nonliteral -Wformat-security
And fix the resulting compile failures.

I'm sorry about the patch necessary to gstclockoverlay.h but after
talking to Tim we decided we can live with it.
2010-03-17 12:09:25 +01:00
Benjamin Otte
3bd4aa26ff Add -Wwrite-strings to configure
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte
5e21fa5e0e gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
David Hoyt
cfa8de336c typefind: use g_ascii_strncasecmp() instead of strncasecmp()
g_ascii_strncasecmp() is more portable and likely more robust as
well (with random binary data as input).

Fixes #612845.
2010-03-15 18:45:13 +00:00
Tim-Philipp Müller
0ed09fef0d videotestsrc: use C comments instead of C++-style comments 2010-03-15 13:40:47 +00:00
Tim-Philipp Müller
8ff8195108 videotestsrc: use g_value_set_static_string() for string constants 2010-03-15 13:40:47 +00:00
Sebastian Dröge
bd2277d214 playsink: Avoid g_object_set() on NULL if a text sink is used
Fixes bug #611702.
2010-03-15 14:26:28 +01:00
Sebastian Dröge
a6ffa3fbb5 subparse: Correctly escape brackets in DKS regex
Fixes bug #612783.
2010-03-15 14:10:09 +01:00
David Schleef
84ed474e6a videotestsrc: add chroma-zone-plate pattern
pattern=chroma-zone-plate is pattern similar to zone-plate,
but in the chroma channels instead of luma.
2010-03-15 01:35:15 -07:00
David Schleef
ac9b69a088 videotestsrc: add chroma-site to caps 2010-03-15 01:33:36 -07:00
David Schleef
c1974322ea videotestsrc: Add color-matrix to template caps 2010-03-14 16:18:34 -07:00
Sebastian Dröge
944d6b1786 volume: Revert rounding behaviour changes when using controlled volume properties
Now the controlled and non-controlled code paths are all having
exactly the same rounding behaviour and the unit tests pass again.
2010-03-12 15:49:17 +01:00
Sebastian Dröge
baf2fc1c58 volume: Only allocate a mute value array if a control source exists for the mute property 2010-03-12 15:49:17 +01:00
Benjamin Otte
3a7d632a59 Add -Wredundant-decls to warning flags
... and fix all the warnings that flag throws.
2010-03-11 15:38:18 +01:00
Benjamin Otte
43b1683421 Add -Wmissing-declarations -Wmissing-prototypes to warning flags
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Mark Nauwelaerts
0f6cf41947 playsink: provide correct error message if configured audio/video sink fails 2010-03-10 14:37:05 +01:00
David Schleef
173b0758dc videotestsrc: Add color-matrix to caps 2010-03-09 13:11:38 -08:00
Sebastian Dröge
71ca26fc7f playsink: Don't fail if there are subtitles and audio but no video
Change playbin2 to not error out if there are subtitles and audio
but no video. If visualizations are enabled the subtitles are rendered on top
of the visualization stream, otherwise the subtitles are not linked at all and
only the audio is played (and a warning message is posted).

If there are only subtitles but neither audio nor video an error message is
still posted.

Fixes bug #610866.
2010-03-09 21:01:38 +00:00
Sebastian Dröge
5d0957525a volume: If a controller is used, use sample accurate property values
Fixes bug #609801.
2010-03-09 20:58:38 +00:00
Josep Torra Valles
25fc69e6aa playsink: avoid g_object_set() on NULL pointers
There may not be an overlay element if a text-sink is set.

Fixes #611702.
2010-03-03 20:15:44 +00:00
Thiago Santos
616f130d05 videorate: Improve upstream negotiation
Put peer pad caps preferred framerates first, indicating
they are videorate's first choices, removing an unnecessary
conversion.

Fixes #608025
2010-02-22 17:03:07 -03:00
Sebastian Dröge
ff21fe1d25 playbin2, playsink, subtitleoverlay: Set subtitle encoding properly
For this add subtitle encoding properties to playsink and subtitleoverlay
and update the values in the containing elements.

Also update the font description in textoverlay or the used renderer
element if it is changed during playback.

Fixes bug #610310.
2010-02-22 20:47:34 +01:00
Sebastian Dröge
9fa9834535 playsink: Ghost the video sinkpad if a text sinkpad is available
Only don't ghost it if no visualizations are need and if
no text is needed and no textchain was created yet.

Fixes bug #610379.
2010-02-19 17:44:18 +01:00
David Schleef
8cf4f48892 tcp(client/server)src: Fix handling of closed sockets
The peer closing the socket should cause an EOS, instead of
silently doing nothing.  This changes the behavior to be
more like fdsrc.  Fixes: #610386
2010-02-18 11:44:59 -08:00
Tim-Philipp Müller
3be20d7a5e uridecodebin: use same message string for missing elements as in playbin
Use the same translated message string for missing core elements as
playbin uses, which is a bit nicer and also indicates that there is
something wrong with the user's GStreamer installation (which arguably
is the case if elements like typefind or queue2 are missing).
2010-02-16 10:09:54 +00:00
Kaj-Michael Lang
0230f7ed9e typefind: Handle stm module format
Fixes #609314.
2010-02-15 12:50:45 +00:00
Sebastian Dröge
09f972bdba playbin2: Post a missing element message and an error message if no uridecodebin can be found 2010-02-15 08:48:58 +01:00
Sebastian Dröge
dbf632f3fb playsink: Post missing element messages if a core plugin is missing
And post a warning in cases where we can still continue to work
or an error when the missing element is fatal.
2010-02-15 08:46:26 +01:00
Sebastian Dröge
cdf53e5e86 decodebin2: First post a missing-plugin message, then emit the unkown-type signal
This makes sure that there *always* is a missing plugin message in the bus
before any errors or warning messages.
2010-02-15 08:26:05 +01:00
Sebastian Dröge
9677ca5037 uridecodebin: Missing decoder errors should be STREAM CODEC_NOT_FOUND
and not CORE MISSING_PLUGIN.
2010-02-15 08:20:41 +01:00
Sebastian Dröge
ecffd51751 playbin2: Free the subtitle URI 2010-02-15 08:18:06 +01:00
Sebastian Dröge
9716d51755 uridecodebin: Post missing plugin messages if a required element can't be created
Especially if no suitable URI source can be found.
2010-02-15 08:06:44 +01:00
Sebastian Dröge
b37de8a63b decodebin2: Set ghostpad targets to NULL when freeing a decode chain
Otherwise the ghostpad will still be linked to the peer and there
will still be a reference kept, leading to nothing being unlinked
and destroyed until decodebin2 is finalized.

This fixes reuse of decodebin2 if a raw stream is connected to
its sinkpad.
2010-02-15 01:21:14 +01:00
Sebastian Dröge
2788db62ae volume: Replace this variables by self 2010-02-13 01:08:05 +01:00
Josep Torra Valles
d58f4fcf48 playsink: Reset the sink's state to NULL before unreffing it unless it's the same instance again
This makes sure that we don't destroy the last reference before the
element gets back to NULL state. Fixes assertion failures if a playbin2
instance is reused but different sinks are automatically chosen because
of different caps.
2010-02-12 19:43:13 +01:00
Wim Taymans
3ae58733a5 uridecodebin: avoid some typecasts 2010-02-12 12:31:49 +01:00
Sebastian Dröge
8b1e42f272 ffmpegcolorspace: Add conversions from all ARGB formats to AYUV and back 2010-02-12 11:00:08 +01:00
Tim-Philipp Müller
729b6da76a Revert "playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler"
This reverts commit 7335ce5d3e.

Support abusing the uri property to configure the next uri to play
outside of the about-to-finish handler for the time being after all.
We also shouldn't use thread private structures for this, since it
should be possible to block the thread that emitted about-to-finish
while the main thread sets the uri property. See #607226.
2010-02-04 18:32:48 +00:00
Wim Taymans
fd755182b1 uridecodebin: clean up decodebin properties
When reusing a decodebin2 element, clear the properties we might have changed,
to their default values or else we might end up with old configuration.

Fixes #608484
2010-02-01 15:00:18 +01:00
Tim-Philipp Müller
16601b09fe playbin2: when no uri is set, post an error message
When no uri is set, don't just return STATE_CHANGE_FAILURE from the
state change function, but actually post an error message.
2010-01-30 15:41:32 +00:00
Wim Taymans
b44a5c8dc7 adder: don't hold object lock when calling peer elements
Do not hold the object lock while we call methods on peer elements as this can
lead to deadlocks.

Fixes #608179
2010-01-28 17:43:47 +01:00
Edward Hervey
c60f94da58 decodebin2: Don't skip an element when getting the topology
Fixes #608167
2010-01-26 17:29:21 +01:00
Julien Moutte
d6108b8fad subtitleoverlay: relax caps template on sink pads
Allow any caps on sink pad templates as we could do passthrough with non raw
video caps.
2010-01-25 18:57:52 +01:00
Sebastian Dröge
fcf2668b20 Revert "inputselector: Protect g_object_notify() with the object's mutex"
This reverts commit a37426c41c, it's
causing deadlocks with playbin2.
2010-01-25 12:22:17 +01:00
Kipp Cannon
a37426c41c inputselector: Protect g_object_notify() with the object's mutex
This works around the thread unsafety of g_object_notify()

Fixes bug #607513.
2010-01-24 20:55:26 +01:00
Sebastian Dröge
1ae783dafc typefindfunctions: Add typefinder for ISO MP4 files
Fixes bug #607848.
2010-01-24 20:46:58 +01:00
Tim-Philipp Müller
eef885cf86 typefinding: optimise AC-3 typefinder a bit
Make AC-3 typefinder use the DataScanCtx stuff so we don't have to
do gst_type_find_peek() in the inner loop all the time. Also return
when we've suggested AC3 caps, instead of continuing with the loop.
2010-01-23 15:28:02 +00:00
Tim-Philipp Müller
ca7ba91e5b Revert "typefind: Reduce number of calls to gst_type_find_peek."
This reverts commit c661bfaa99.

This breaks AC-3 typefinding for all cases where the first frame
is at an offset > 0.
2010-01-23 15:27:49 +00:00
Wim Taymans
12af633942 uridecodebin: handle raw sources about-to-finish signals
When we are dealing with a source that produces raw audio/video, we don't use a
decodebin2 to decode the data and we thus don't have the drained/about-to-finish
signal emited. To fix this, we add a padprobe on the source pads and emit the
drained signal ourselves. This then makes playbin2 emit the about-to-finish
signal for raw sources such as cdda://

Fixes #607116
2010-01-22 16:36:46 +01:00
Stefan Kost
8ebb6be803 typefind: include stdio.h for sscanf 2010-01-22 16:15:54 +02:00
Tim-Philipp Müller
2a84cf0941 typefinding: add PNM typefinder
Add PNM typefinder, so we can remove the one that's in the PNM plugin
in -bad (which btw uses different/wrong media types that don't match
the ones used by gdkpixbufdec) and people don't make fun of us for
loading image decoders when typefinding and playing back audio files.
2010-01-22 02:09:58 +00:00
Thijs Vermeir
48aa1959c8 ffmpegcolorspace: rename performance category
rename the performance category to ffmpegcolorspace_performance
as there is already a global GST_CAT_PERFORMANCE in core
2010-01-21 19:34:33 +01:00
David Schleef
e432c8ebc2 typefind: rewrite h.264 detection
Make detection simpler: check for NALs, check that they make
sense, and report how certain we are that it's a raw H.264 stream.
Fixes: #583376.
2010-01-19 13:37:12 -08:00
Tim-Philipp Müller
b0fe1867d4 playsink: re-use iterator callback to avoid code duplication 2010-01-18 10:10:27 +00:00
Tim-Philipp Müller
7216605ffa playsink: when looking for sink properties, make sure they have the right type
We don't want to end up setting values on elements where the property is of
a different type than we expect. Can't transform the value either, since we
can't really make assumptions about the scale and transform function.

Fixes crashes when using playbin2 with apexsink (#606949).
2010-01-18 10:10:27 +00:00
Sebastian Dröge
7335ce5d3e playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler
Changing the URIs in a state > READY results in unexpected behaviour,
i.e. the new URIs are only used after the current track has finished.

Fixes bug #607226.
2010-01-18 09:32:42 +01:00
Mark Nauwelaerts
2482a536ac decodebin2: sprinkle some more locking
... to avoid races and ensure some data structure consistency.

See also #574289.
2010-01-16 18:48:00 +01:00
Mark Nauwelaerts
45447337ad decodebin2: mind blocked pads when shutting down
Fix regression in shutdown deadlock handling now that the
target of a ghostpad is blocked instead of ghostpad itself.

See also #574293.
2010-01-14 18:26:03 +01:00
Sebastian Dröge
3b842bc98b playsink: Fix disabling of subtitles if subtitles were used before
In this case the video still goes through the text chain and
subtitles are still going in there, in case subtitles are
enabled again. This makes sure that re-enabling subtitles
happens instantly.

Fixes hanging video when disabling subtitles, caused by an
unliked video pad.
2010-01-14 13:36:23 +01:00
Mark Nauwelaerts
36fee21834 playbin2: fix pad ref leak 2010-01-14 10:46:28 +01:00
Wim Taymans
8d30d92740 typefind: mp4 video is not parsed 2010-01-13 17:36:05 +01:00
Thiago Santos
148d951fbc typefind: Add aac stream-format to caps
Also add the aac stream-format field on the caps when
detecting it.
2010-01-13 12:49:20 -03:00
Brijesh Singh
0fe6b6e8ab playsink: Fix handling of the native audio/video flags
Fixes bug #606687.
2010-01-13 09:39:54 +01:00
Wim Taymans
22939b074c Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2010-01-05 10:38:41 +01:00
Mark Nauwelaerts
133e1cdb56 audiorate: correctly eat empty and dummy buffers 2009-12-26 19:20:18 +01:00
Wim Taymans
775636e734 adder: be a lot smarter with buffer management
Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee adder: use collectpads clipping function
Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.

Fixes #590265
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced adder: fix juvenile comment 2009-12-24 13:58:52 +01:00
Wim Taymans
15216d23ac decodebin2: fix typo in debug message 2009-12-23 21:24:48 +01:00
Wim Taymans
99e836a340 decodebin2: avoid some type checks 2009-12-23 18:18:03 +01:00
Wim Taymans
3b0fc1e4fb playbin2: avoid leaking selector request pads 2009-12-23 17:08:27 +01:00
Wim Taymans
d4e1ff012d uridecodebin: avoid leaking queue and typefind
Don't leak the queue and typefind elements that we might link after the
source element.
2009-12-23 15:46:25 +01:00
Jonathan Matthew
138c851173 uridecodebin: don't name the queue
There is no reason to name the queue.

Fixes #605219
2009-12-23 15:43:52 +01:00
Mark Nauwelaerts
93f82f16cd audiorate: add Since marker for the new tolerance property 2009-12-21 18:50:34 +01:00
Wim Taymans
8266d201a0 decodebin2: add some debugging 2009-12-16 11:44:11 +01:00
Mark Nauwelaerts
8b4f6dd43b audiorate: add a tolerance property
It may not be uncommon for the input timestamps to experience some jitter
around the 'perfect time'.  As such, instead of regularly adding and dropping
samples, optionally allow for some tolerance in a more relaxed approach.

API: GstAudioRate:tolerance
2009-12-15 19:51:08 +01:00
Mark Nauwelaerts
b5fe63ed79 audiorate: add documentation 2009-12-15 19:50:56 +01:00
Mark Nauwelaerts
60635a9fbc audiorate: use separate header file 2009-12-15 19:49:31 +01:00
Mark Nauwelaerts
4bbde64da6 audiorate: set DISCONT when resyncing (e.g. newsegment) 2009-12-15 19:49:28 +01:00
Mark Nauwelaerts
56d4534554 audiorate: also fill up segments if possible 2009-12-15 19:49:26 +01:00
Mark Nauwelaerts
a11a1858ed audiorate: fix segment handling
Do not compare a media (buffer) time to a (bogus) running time
(or their offset equivalents).
2009-12-15 19:49:24 +01:00
Mark Nauwelaerts
529db8b501 audiorate: properly report truncated samples as dropped samples 2009-12-15 19:49:22 +01:00
Wim Taymans
dc91454984 tcpclientsrc: unset flushing state too
When unlocking, we set the flushing state on the fdset. Implement unlock_stop so
that we can use it to unset the flushing state again.

Fixes #577326
2009-12-10 17:53:01 +01:00
Wim Taymans
26071d748f playsink: fix video when subtitles disabled
When we have a source with subtitles but they were disabled with the flags,
still ghostpad the video pad instead of leaving it unlinked.
2009-12-09 12:11:55 +01:00
Sebastian Dröge
7bf631e448 playbin2: Fix stream-changed message list iteration
When iterating the list and removing the current element, first
get the next element and then remove the current one and not
the other way around.
2009-12-08 13:41:28 +01:00
Sebastian Dröge
49fd39c3fd playsink: Some minor cleanup 2009-12-07 09:13:40 +01:00
Sebastian Dröge
930a57db20 playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments 2009-12-06 18:06:05 +01:00
Stefan Kost
e6e9e3c589 build: fix build with debug logging disabled. 2009-12-03 23:38:54 +02:00
Stefan Kost
a6cf29fd3d playbin2: don't iterate the factory lists in non-debug mode
When debugging is disabled, we won't see anything printed anyway.
2009-12-03 18:08:49 +02:00
David Schleef
ab0c93976d Build fix for MSVC 2009-12-03 00:20:34 -08:00
Stefan Kost
70649da6ce build: add missing includes for sprintf and atoi 2009-12-02 23:27:55 +02:00
Thiago Santos
1acdf3eb78 subparse: Add support for some tags of qttext
Currently supporting timescale, timestamps, font, size,
textColor, backColor, plain, bold and italic

Fixes #603357
2009-12-01 17:56:59 -03:00
Thiago Santos
cdcc28c833 subparse: add qttext support
Adds basic support for qttext subtitles, still lacks markup tags
to make it prettier, but the plain text already works.

Implemented according to:
http://www.apple.com/quicktime/tutorials/texttracks.html
http://www.apple.com/quicktime/tutorials/textdescriptors.html

Fixes #603357
2009-12-01 14:06:27 -03:00
Thiago Santos
c4b86b37fb subparse: conditionally cleanup sami context
Only cleanup sami context if we are parsing sami subtitles,
otherwise we might have crashes.
2009-12-01 13:32:33 -03:00
Thiago Santos
12db385ada subparse: Add missing caps to sink caps template
Some caps were missing from the sink caps template when
xml was disabled
2009-12-01 13:32:33 -03:00
Sebastian Dröge
732f3055a3 subtitleoverlay: Fix some pad refcount issues
Fixes bug #603345.
2009-11-30 10:22:54 +01:00
Sebastian Dröge
1fe9f49691 ffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other way around
Fixes bug #602834 and #350748.
2009-11-25 16:18:37 +01:00
Sebastian Dröge
1273909419 playbin2: Transform QoS events to be meaningful for upstream elements
This is necessary because the sinks don't notice the group switches
and the decoders/demuxers have a different running time than the
sinks.

Fixes bug #537050.
2009-11-23 08:06:02 +01:00
Stefan Kost
3d73a7458a adder: make events succeed, if they succed on atleast one pad 2009-11-19 21:28:23 +02:00
Thiago Santos
0d6195686b decodebin2: error when all streams have no buffers
In some cases (all buffers dropped by a parser) a decodebin2
chain might receive an EOS before it gets enough data to
expose a decoded pad. In the case that no streams can expose
a pad we should error out instead of hang.

Fixes #542758
2009-11-19 14:51:33 -03:00
Sebastian Dröge
7e5d6ed441 playbin2: Fix stupid bug introduced in last commit 2009-11-19 12:23:08 +01:00
Sebastian Dröge
d6dd987ffb playbin2: Aggregate the stream-changed message by looking at the seqnum
Just counting how many messages were sent and how many were received
is not good enough because they might've been duplicated (e.g. by the
visualization audio tee). Comparing the sequence numbers should give
better results in that case.
2009-11-19 12:12:57 +01:00
Sebastian Dröge
ea40d8e36a playbin2: Ignore async state changes of the uridecodebins
Otherwise the async state change from READY->PAUSED of the
uridecodebins will take playbin2 from PLAYING->PAUSED again
during gapless group switches.

Fixes bug #602000.
2009-11-19 12:12:57 +01:00
Thiago Santos
e3e7ba0d1a decodebin2: set to buffer less on no-more-pads
When a decodebin2 receives no-more-pads of a group it
can set that group's multiqueue buffering thresholds to
'playing' buffering method, avoiding that it buffers
too long and cause problems when using with queue2.
See the associated bug for details.

Fixes #600787
2009-11-18 15:16:18 -03:00
Sebastian Dröge
af34d2c1f8 playbin2: Don't handle DURATION queries during group switches
During a group switch return the cached duration of the old group
because the old group still didn't finish playback. If we have no
cached duration return FALSE.

Fixes bug #585969.
2009-11-18 16:40:32 +01:00
Sebastian Dröge
7e674d8605 playbin2: Post a stream-changed message after activating a group
This is useful to detect when playbin2 has really switched to the next
group after about-to-finish for example.

Fixes bug #584987.
2009-11-18 16:40:32 +01:00
Wim Taymans
c4d7dbce1a playsink: make sure we always go to PAUSED async
Set the need_async_start flag before going to PAUSED so that we always post the
ASYNC_START message, even after reusing playsink.
2009-11-17 16:39:09 +01:00
Wim Taymans
65773b58dd playsink: make sure we remain a sink
When we remove our elements, we could lose our sink flag. Make sure we remain a
sink by setting the flag again after removing elements.
2009-11-17 16:37:57 +01:00
Stefan Kost
bbb531619c audioconvert: remove unused array 2009-11-16 22:51:17 +02:00
Sebastian Dröge
7a7950f969 subparse: Use new double->fraction transformation function from core 2009-11-16 09:59:02 +01:00
Sebastian Dröge
3b4fd71270 playbin2: Make subtitle error handling more robust and ignore late errors too
Make sure, to only "simulate" subtitle no-more-pads if it was still
pending and also handle errors in the subtitle pipeline as warnings
after the subtitles prerolled.

Don't set the suburidecodebin to READY after errors, handle_message
will usually be called from the streaming thread and doing that
from there is obviously not a good idea.
2009-11-14 14:08:40 +01:00
Sebastian Dröge
cdc5fc2c66 subtitleoverlay: Handle errors from subtitle elements as warning and go into passthrough mode 2009-11-14 14:08:40 +01:00
Sebastian Dröge
16dec615cb playbin2: Don't leak the GError and debug string when parsing error messages 2009-11-14 14:08:40 +01:00
Sebastian Dröge
18f5fad785 playbin2: Improve subtitle passthrough in uridecodebin
Now the caps property isn't set anymore for the subtitle caps
but instead in the autoplug-continue signal it is detected
if the caps belong to a supported subtitle stream.

This makes automatic use of newly installed plugins.
2009-11-12 13:20:42 +01:00
Sebastian Dröge
7827660dcd subtitleoverlay: Only recreate factory caps if necessary and cache them 2009-11-12 13:20:42 +01:00
Sebastian Dröge
068aecc389 subtitleoverlay: Only update the factory list when the registry has changed
Also don't free the list every time we go to NULL.
2009-11-12 13:20:42 +01:00
Sebastian Dröge
6980503927 subtitleoverlay: Use gst_pad_get_caps_reffed() 2009-11-12 13:20:41 +01:00
Sebastian Dröge
b02d9837f7 playbin2/playsink: Use new "silent" property instead of unlinking
This makes sure that subtitleoverlay still gets segment updates and
everything to pass on downstream. Without this segment problems happen.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
af3d16dbb1 subtitleoverlay: Update segments after pushing the events downstream
This makes sure that we don't apply segments twice downstream. Also
always send our newsegment events downstream.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
e869b57296 subtitleoverlay: Add silent property to disable subtitles
This tries to disable subtitles in the overlay or renderer
and if that's not possible it goes into passthrough mode.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
eb2d207811 subtitleoverlay: Set the video framerate on parsers if possible
Fixes bug #599649.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
528be22031 subparse: Make fps a GstFraction typed property and use it properly 2009-11-12 13:20:41 +01:00
Iago Toral
b2c65c9efd subparse: Add property for the video framerate 2009-11-12 13:20:41 +01:00
Sebastian Dröge
c5d26b23c7 playbin2: Handle external subtitles better
First of all, make sure that suburidecodebin never
errors out because of not-linked in case external subtitles
are used but then subtitles are disabled.

And then make sure that external subtitles always start from
the correct position and are not racing until EOS if they
get unselected and selected again.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
16073d1eb7 playbin2: Flush the subtitles before switching to a new subtitle stream
This makes sure that all currently shown subtitles disappear
and new ones can be shown as soon as possible.
2009-11-12 13:20:40 +01:00
Sebastian Dröge
e91458f13c playbin2: Set subtitle caps as raw caps for the uridecodebins
This will make sure that no subparse is ever plugged and subtitleoverlay,
that subpicture streams are handled the same was as subtitles and that
subtitle renderers are used if available.

Fixes bugs #595123, #570753, #591662, #591706.
2009-11-12 13:20:40 +01:00
Sebastian Dröge
ced1b8f897 playbin2/playsink: Remove everything related to subpicture streams
These will soon be handled the same way as subtitle streams.
2009-11-12 13:20:40 +01:00
Sebastian Dröge
dcc109bd9a playsink: Add a queue before subtitleoverlay
This will improve playback, and the same thing is done
for subpicture streams too.
2009-11-12 13:20:40 +01:00
Sebastian Dröge
c0828e55b6 playsink: Use subtitleoverlay for subtitles 2009-11-12 13:20:40 +01:00
Sebastian Dröge
92ccb87850 subtitleoverlay: Add new element for generic subtitle overlaying
This autopluggs the required elements for parsing and rendering
different subtitle formats on a video stream.

Fixes bug #600370.
2009-11-12 13:20:40 +01:00
Sebastian Dröge
1da5a3f7d3 playback: Update factories list on every access if the registry has changed
This makes application's simpler because the element doesn't need to
go to NULL first to make use of newly installed plugins.

Fixes bug #601480.
2009-11-11 14:00:26 +01:00
Sebastian Dröge
ab96265c57 playback: When going from NULL->READY check if the registry has new features
This makes it possible to use newly installed plugins after going back
to NULL instead of requiring a new instance.

Fixes bug #599266.
2009-11-10 18:30:46 +01:00
Sebastian Dröge
6723bf429f audioresample: Update speex resampler to latest GIT 2009-11-10 12:22:27 +01:00
Tim-Philipp Müller
23f92ed8cd playsink: assign chain->mute before using it
Fixes GObject warnings when starting totem.
2009-11-10 01:06:17 +00:00
Edward Hervey
e34abf228d playback: Fix the order in strcmp that I broke in previous commit. 2009-11-09 19:58:20 +01:00
Edward Hervey
c661bfaa99 typefind: Reduce number of calls to gst_type_find_peek.
Shaves off a couple percents off typefinding
2009-11-09 19:18:07 +01:00
Edward Hervey
b9053c5ae8 playback: Avoid expensive API calls in tight loop.
We know we're dealing with GstPluginFeature.
2009-11-09 19:18:07 +01:00
Sebastian Dröge
dfd51aa82a inputselector: Remove useless variables and fix a uninitialized variable compiler warnings 2009-11-08 11:27:57 +01:00
Sebastian Dröge
6c15d9e8d4 decodebin2: Add property to disable/enable posting of stream-topology messages
Most people don't need this messages and generating them is quite
expensive.
2009-11-06 17:01:04 +01:00
Sebastian Dröge
5798b543df decodebin2: Protect subtitle elements and subtitle encoding by a new mutex
Using the object lock here can and will lead to deadlocks because
of deep-notifies of property changes: the deep-notify handler will
get the parent of objects, which will take the object lock again.

Fixes bug #600479.
2009-11-06 15:15:06 +01:00
Sebastian Dröge
f365385458 inputselector: Make sure that running_time->timestamp calculation never becomes negative 2009-11-06 13:14:14 +01:00
Sebastian Dröge
97519751ad uridecodebin: Improve all-raw-caps detection for pads 2009-11-06 12:37:03 +01:00
Sebastian Dröge
27034be461 inputselector: Use the start time (i.e. timestamp) as the last stop
Using the end time makes it impossible to replace buffers, which is
a big problem for subtitles that could have very long durations.
2009-11-06 12:11:21 +01:00
Olivier Crête
b5620e1241 gdpdepay: Clear adapter on flush and state change
Fixes #600469
2009-11-05 15:42:09 +01:00
Wim Taymans
8b93746b78 inputselector: use _get_caps_reffed() 2009-11-05 13:12:19 +01:00
Stefan Kost
a78c8bf3ed pad: rename new api from _refed to _reffed.
Due to popular demand rename the new api as we still can.
2009-11-05 13:00:27 +02:00
Wim Taymans
fcb283b78b playbin2: avoid copying caps
Use get_caps_refed() when we can.
2009-11-04 18:57:07 +01:00
Wim Taymans
89f02fb269 decodebin2: use new getcaps function to avoid copies
Use the gst_pad_get_caps_refed() to avoid some caps copy functions.
2009-11-04 18:31:09 +01:00
Wim Taymans
eb92aa282f uridecodebin: use faster element_link_pads
Use the faster gst_element_link_pads because we know for sure the sinkpad name
and we don't need to have the function search for a suitable pad anymore.
2009-11-04 17:50:11 +01:00
Sebastian Dröge
0672457604 playbin2: Return NOT_LINKED for unselected text pads from a demuxer
We want to return NOT_LINKED for unselected pads but only for pads
from the normal uridecodebin. This makes sure that subtitle streams
are not raced past audio/video from decodebin2's multiqueue.

For pads from suburidecodebin OK should always be returned, otherwise
it will most likely stop with an error.
2009-11-04 10:53:27 +01:00
Stefan Kost
f71ed36694 inputselector: also add inline to the proto to fix the build
Merged from gst-plugins-bad, e1e9be6dbe.
2009-11-04 08:20:59 +01:00
Sebastian Dröge
dd55311f3b uridecodebin: Initialize caps property with the default raw caps 2009-11-03 13:03:26 +01:00
Sebastian Dröge
0285d77d96 decodebin2: Use static caps for the default raw caps and put them into a separate header
This way we can use the same default raw caps everywhere.
2009-11-03 13:03:23 +01:00
Josep Torra Valles
e9d1819fe3 playbin: Make sure to keep a reference on the volume element
Fixes null pointer dereferences under certain circumstances.

Fixes bug #595401.
2009-11-02 07:30:54 +01:00
Sebastian Dröge
e72c3029c0 playsink: Reset {mute,volume}-changed flags after setting the volume
These flags are there to make sure that the volume is set, if there
is no volume element yet.
2009-10-30 09:24:30 +01:00
Sebastian Dröge
598c937634 playsink: If notify::{volume,mute} is triggered by the volume element, update our internal state 2009-10-30 09:24:03 +01:00
Sebastian Dröge
d85dadc122 playsink: Proxy notify::volume and notify::mute from the volume/mute elements (or sinks)
Fixes bug #600027.
2009-10-29 14:30:31 +01:00
Sebastian Dröge
de1db5ccbd playbin2: Proxy notify::volume and notify::mute from the playsink to playbin2 2009-10-29 14:19:09 +01:00
Sebastian Dröge
75d36a0b1e queue2: Remove from gst-plugins-base
This is now in coreplugins.
2009-10-29 11:29:46 +01:00
Tim-Philipp Müller
6f4c1ac583 Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Wim Taymans
7065c7a02d queue2: add custom acceptcaps function 2009-10-27 15:23:00 +01:00
Wim Taymans
0b00e25b54 decodebin2: implement low/high watermark property 2009-10-27 15:22:22 +01:00
Wim Taymans
7ab778199e uridecodebin: don't use 2 buffering elements
Only use the multiqueue buffering when we don't have a stream (and thus are
using queue2 to do the buffering already).
2009-10-24 16:10:00 -04:00
Wim Taymans
660fc111d1 playbin2: add flag to enable decodebin buffering
Add a flag that enables buffering in decodebin.
2009-10-24 16:10:00 -04:00
Wim Taymans
f998858192 decodebin2: buffering is implemented now 2009-10-24 16:09:59 -04:00
Wim Taymans
26290f44d6 uridecodebin: buffering is implemented now 2009-10-24 16:09:59 -04:00
Wim Taymans
3d2b3dd268 decodebin2: configure use-buffering on multiqueue 2009-10-24 16:09:59 -04:00
Wim Taymans
d5add83976 uridecodebin: use 0 for max buffer size 2009-10-24 16:09:59 -04:00
Wim Taymans
1fa7f049f1 uridecodebin: set some reasonable defaults 2009-10-24 16:09:59 -04:00
Wim Taymans
3883fac8d8 uridecodebin: set buffering properties on decodebin2
Propagate the buffering properties on decodebin2 but only if we are not already
doing download buffering.
2009-10-24 16:09:59 -04:00
Wim Taymans
adba87539f uridecodebin: add use-buffering property
Add a use-buffering property that will perform buffering on the parsed or
demuxed media.
2009-10-24 16:07:36 -04:00
Wim Taymans
baecd335b2 decodebin2: refactor queue size configuration.
Refactor the queue size configuration into a new method.
Use the same queue values for buffering as for preroll.
2009-10-24 16:07:36 -04:00
Wim Taymans
cffe4d7bd3 decodebin2: move error path down 2009-10-24 16:07:36 -04:00
Wim Taymans
1c982d0dbe decodebin2: implement max queue size properties 2009-10-24 16:07:36 -04:00
Wim Taymans
3fffb0e2dd decodebin2: add properties for buffering
Add properties that can be used to configure the multiqueue buffers and
buffering methods
2009-10-24 16:07:36 -04:00
Sebastian Dröge
4de2ab48ea playbin2: Don't destroy the suburidecodebin on errors
It can still be reused
2009-10-24 13:08:07 +02:00
Sebastian Dröge
497d0a4793 playbin2: If setting the state of the suburidecodebin fails just warn, don't error out 2009-10-24 13:07:45 +02:00
Sebastian Dröge
cd5475aa6f playbin2: Don't set uridecodebin states to NULL before reusing them
This makes sure that the internal decodebin2 and everything else can
be reused without reinstantiation.
2009-10-24 12:54:11 +02:00
Edward Hervey
80b37c614a uridecodebin: Store unused decodebin2 instances for further usage.
This allows faster re-use of uridecodebin.

https://bugzilla.gnome.org/show_bug.cgi?id=599471
2009-10-24 11:48:33 +02:00
Thiago Santos
e55bf9bdd8 audiorate: move debug calculation into debug macro
Remove in_duration and move its calculation to
GST_LOG_OBJECT macro. This way it will only be calculated
if we have debug enabled.
2009-10-22 09:14:30 -03:00
Thiago Santos
d95b607e23 audiorate: Removing unused variable
The in_stop variable was never read. Removing it.
2009-10-22 09:14:30 -03:00
Thiago Santos
44d6ebc48f audiorate: be more accurate on offset math
Replace gst_util_uint64_scale_int for its rounding version
to improve accuracy and avoid inserting samples where
they aren't needed.

Fixes #499181
2009-10-22 09:14:29 -03:00
Iago Toral
f63643bd54 subparse: Add support for DKS subtitle format
Fixes bug #598936.
2009-10-22 10:02:11 +02:00
Wim Taymans
bdfb4b46d7 inputselector: set output caps before pushing
Set the output caps on the srcpad before pushing the buffer because else core
will do a rather expensive check to see if we can actually accept those caps on
the srcpad.
2009-10-21 16:24:29 -04:00
Wim Taymans
5b72f2adf9 inputselector: install an acceptcaps function
Install a custom acceptcaps function instead of using the default expensive
check. We accept whatever downstream accepts so we pass along the acceptcaps
call to the downstream peer.
2009-10-21 15:58:11 -04:00
Tim-Philipp Müller
37f8957181 typefind: fix typo in previous mxf typefinder change 2009-10-21 20:36:23 +01:00
Edward Hervey
d48d47e683 typefind: speed up mxf_type_find over 300 times for worst case scenarios
* memcmp is expensive and was being abused, reduce calling it by checking
  the first byte.
* iterating one byte at at time over 64 kbites introduces a certain overhead,
  therefore we now do it in chunks of 1024 bytes

And I do mean over 300 times. The average instruction call per mxf_type_find
was previously 785685 and it's now down to 2458 :)
2009-10-21 21:04:45 +02:00
Wim Taymans
c489fb01ca decodebin2: avoid type checks 2009-10-20 17:14:40 -04:00
Edward Hervey
891c54f6f8 gst/decodebin2: Ensure we get fixed caps for topology message
There are some corner cases (like with dvdemux amongst others) where
the caps won't be negotiated, but the pad has fixed caps.
2009-10-20 10:15:57 +02:00
Edward Hervey
64c8b1d5d9 gst/decodebin2: Don't expose chains if we're shutting down.
This avoids adding flushing pads to ourself
2009-10-20 10:15:48 +02:00
Stefan Kost
f1c32d0fbb build: fix previous commit to fully accomodate the glib-gen.mak changes
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
2009-10-16 10:56:56 +03:00
Stefan Kost
a89c1de0ea build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 10:23:09 +03:00
Sebastian Dröge
efcca84bac decodebin2: Post a element message on the bus with the stream topology
Fixes bug #598533.
2009-10-15 13:35:29 +02:00
Sebastian Dröge
50fdbcd9ea decodebin2: Store the "endcaps" of a chain
This are the caps that either resulted in a deadend if
no plugin for them could be found or raw caps.
2009-10-15 13:35:29 +02:00
Sebastian Dröge
366aaae825 decodebin2: Store for every chain, which pad resulted in its creation 2009-10-15 13:35:28 +02:00
Sebastian Dröge
2b3741403e playbin2: Use gst_object_has_ancestor() instead of our own implementation of it 2009-10-14 08:36:54 +02:00
Sebastian Dröge
a4bc39ef48 playbin2: Don't stop completely on initialization errors from subtitle elements
Instead disable the subtitles and play the other parts of the stream.

Fixes bug #587704.
2009-10-13 16:53:50 +02:00
Sebastian Dröge
d40246ff7d decodebin2: Ignore no-more-pads from non-demuxer elements
instead of printing an error that no corresponding group could
be found. no-more-pads from non-demuxer elements doesn't give
any additional information because there can only be a single srcpad.

Fixes bug #598288.
2009-10-13 16:52:43 +02:00
Stefan Kost
319baefeba audioconvert: track active conversion in perf log 2009-10-12 21:43:42 +03:00
Josep Torra
7bba1217a5 audioconvert: fixes warning: format not a string literal and no format arguments
redo of valid part of my previous revert.
2009-10-09 15:29:15 +02:00
Josep Torra
7b77138667 Revert "audioconvert: fixes warning: format not a string literal and no format arguments"
Revert this commit as unintentionally I've changed common.

This reverts commit 49ea013822.
2009-10-09 15:19:42 +02:00
Josep Torra
9c335ec185 videorate: fix warning in macosx 2009-10-09 14:23:36 +02:00
Josep Torra
99db7845c7 audiorate: fix warning in macosx 2009-10-09 14:20:47 +02:00
Josep Torra
49ea013822 audioconvert: fixes warning: format not a string literal and no format arguments 2009-10-09 14:14:15 +02:00
Stefan Kost
e81303b733 ffmpegcolorspace: chwck formats just once per _chain() 2009-10-08 18:10:08 +03:00
Stefan Kost
f2d1c9b0b7 ffmpegcolorspace: add perf-log-category and log suboptimal operation
Log if we use an intermediate colorspace for conversion.
2009-10-08 18:09:52 +03:00
Jan Schmidt
592b8ecb09 decodebin2: Fix type-punning warning 2009-10-08 00:17:21 +01:00
Sebastian Dröge
9bd6fe41cb decodebin2: Chains with an exposed endpad are complete too
This allows partial group changes, i.e. demuxer2 in the example below
goes EOS but has a next group and audio2 stays the same.

          /-- >demuxer2---->video
demuxer---             \--->audio1
          \--->audio2
2009-10-07 17:46:30 +02:00
Sebastian Dröge
bf7cd0ed81 decodebin2: Use the iterate internal links function instead of string magic to get multiqueue srcpads 2009-10-07 17:46:29 +02:00
Sebastian Dröge
674e2309ac uridecodebin: Don't post missing plugin messages twice
decodebin2 already posts them after emitting the unknown-type signal,
there's no need to post another one.
2009-10-07 17:46:29 +02:00
Sebastian Dröge
cf9c6a2271 decodebin2: Rewrite autoplugging and how groups of pads are exposed
This now keeps track of everything that is going on, creates
a tree of chains and groups to allow "demuxer after demuxer" scenarios
and allows chained Oggs with multiple streams (needs oggdemux or playbin2 fixes).

Also document everything in detail and give a general overview of what
decodebin2 is doing at the top of the sources.

Fixes bug #596183, #563828 and #591677.
2009-10-07 17:46:28 +02:00
Stefan Kost
ccf5d6551a build: sprintf, sscanf need stdio.h 2009-10-07 11:56:35 +03:00
Benjamin Otte
6621dd3d3e [videotestsrc] Make checkers-8 pattern create 8x8 instead of 16x16 tiles 2009-10-07 09:54:08 +02:00
Benjamin Otte
9d6eb19453 [ffmpegcolorspace] Fix NV12 and NV21 with odd width and height 2009-10-07 09:54:08 +02:00