1. 29 Mar, 2004 1 commit
  2. 15 Mar, 2004 1 commit
    • Ronald S. Bultje's avatar
      ext/ffmpeg/: Add encode property to codec mapper, so we can get better-fitting... · 91b5e3f5
      Ronald S. Bultje authored
      ext/ffmpeg/: Add encode property to codec mapper, so we can get better-fitting caps. Also use this everywhere. ;). La...
      
      Original commit message from CVS:
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
      * ext/ffmpeg/gstffmpegcodecmap.h:
      * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain),
      (gst_ffmpegdec_register):
      * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add),
      (gst_ffmpegdemux_register):
      * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
      (gst_ffmpegenc_register):
      * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register):
      Add encode property to codec mapper, so we can get better-fitting
      caps. Also use this everywhere. ;). Lastly, add some new codecIDs
      to our list of recognized ones.
      91b5e3f5
  3. 07 Mar, 2004 1 commit
  4. 05 Mar, 2004 1 commit
    • Ronald S. Bultje's avatar
      ext/ffmpeg/gstffmpegcodecmap.c: Fix quicktime type recognition in ffmpeg. We... · 8800cd99
      Ronald S. Bultje authored
      ext/ffmpeg/gstffmpegcodecmap.c: Fix quicktime type recognition in ffmpeg. We returned a bogus caps, which caused ffde...
      
      Original commit message from CVS:
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
      Fix quicktime type recognition in ffmpeg. We returned a bogus
      caps, which caused ffdemux_quicktime to be chosen over qtdemux.
      This fixes that.
      8800cd99
  5. 01 Mar, 2004 1 commit
    • Ronald S. Bultje's avatar
      HACKING: Add some basic documentation on how our wrapping works. · 7b63c14e
      Ronald S. Bultje authored
      Original commit message from CVS:
      * HACKING:
      Add some basic documentation on how our wrapping works.
      * TODO:
      Add a list of things that could be worked on or that need doing.
      * configure.ac:
      Update snapshot.
      * ext/ffmpeg/Makefile.am:
      Changne .la links. See below (autotools patch).
      * ext/ffmpeg/gstffmpeg.c: (plugin_init):
      Enable demuxers. See below (gstffmpegdemux.c).
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
      Realmedia caused a crash - fix that.
      * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror),
      (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_init),
      (gst_ffmpegdemux_close), (gst_ffmpegdemux_dispose),
      (gst_ffmpegdemux_stream_from_pad),
      (gst_ffmpegdemux_src_event_mask), (gst_ffmpegdemux_src_event),
      (gst_ffmpegdemux_src_format_list),
      (gst_ffmpegdemux_src_query_list), (gst_ffmpegdemux_src_query),
      (gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_add),
      (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop),
      (gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register):
      Right. OK, so I fixed up the demuxing and have it basically-working,
      and the best way to get some more people to test it is to actually
      enable it. I'm not sure if we want this for 0.8.0, but we can at
      least give it a try. I've tested avi, matroska and mpeg, all appear
      to work. The cool thing is that this gives us instant support for
      several exotic formats that we'd never care about ourselves. Again,
      this needs more testing for it to still be enabled in 0.8.0, but I
      want to give it a try...
      * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init),
      (gst_ffmpegmux_init), (gst_ffmpegmux_request_new_pad),
      (gst_ffmpegmux_connect), (gst_ffmpegmux_loop),
      (gst_ffmpegmux_register):
      Add some fixups that I use locally. Make it work in the case of
      MPEG encoding, but the muxer is still not in shape to be enabled.
      * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
      (gst_ffmpegdata_read), (gst_ffmpegdata_write),
      (gst_ffmpegdata_seek), (gst_ffmpegdata_close):
      Some small fixups that crept into it while it was disabled for the
      last few years. Basically works.
      * gst-libs/ext/ffmpeg/Makefile.am:
      Instead of having our local-autotoolized version, I patch the ffmpeg
      source to be fully autotoolized. That means a simple SUBDIRS here
      is now enough.
      * gst-libs/ext/ffmpeg/Tag:
      Version update.
      * gst-libs/ext/ffmpeg/patch/autotools.diff:
      Autotoolize ffmpeg. Needs to be sent to ffmpeg-devel@...
      * gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff:
      Don't install their libs.
      * gst-libs/ext/ffmpeg/patch/disablemmx.diff:
      Don't use MMX. It cannot ocmpile using PIC.
      * gst-libs/ext/ffmpeg/patch/disabletools.diff:
      Don't compile/install their tools, we don't use them.
      * gst-libs/ext/ffmpeg/patch/functions.diff:
      Prevent symbol conflicts.
      * gst-libs/ext/ffmpeg/patch/matroska.diff:
      Add a matroska demuxer. Needs to be sent to ffmpeg-devel@...
      7b63c14e
  6. 02 Feb, 2004 1 commit
  7. 30 Jan, 2004 1 commit
    • Benjamin Otte's avatar
      ext/ffmpeg/gstffmpegcodecmap.c: removee video/x-theora from vp3 decoder, it... · 2b07da86
      Benjamin Otte authored
      ext/ffmpeg/gstffmpegcodecmap.c: removee video/x-theora from vp3 decoder, it doesn't handle raw theora streams
      
      Original commit message from CVS:
      2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
      
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
      removee video/x-theora from vp3 decoder, it doesn't handle raw
      theora streams
      * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init):
      fix bug with finalizing element that never went to PAUSED
      * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
      length and position queries were swapped
      * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
      (vorbis_dec_from_granulepos), (vorbis_dec_src_query),
      (vorbis_dec_src_event):
      implement querying time and bytes
      2b07da86
  8. 26 Jan, 2004 2 commits
    • Jeremy Simon's avatar
      ext/ffmpeg/gstffmpegcodecmap.c: Fix SVQ3 decoding on PPC · f1c371a3
      Jeremy Simon authored
      Original commit message from CVS:
      2004-01-26  Jeremy Simon  <jesimon@libertysurf.fr>
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_extradata):
      Fix SVQ3 decoding on PPC
      f1c371a3
    • Jeremy Simon's avatar
      Add SVQ3 specific flags to qtdemux and ffmpeg · 2a56f1ce
      Jeremy Simon authored
      Original commit message from CVS:
      2004-01-26  Jeremy Simon  <jesimon@libertysurf.fr>
      * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
      (gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt):
      * gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak),
      (qtdemux_video_caps):
      * gst/qtdemux/qtdemux.h:
      Add SVQ3 specific flags to qtdemux and ffmpeg
      2a56f1ce
  9. 20 Jan, 2004 1 commit
  10. 12 Jan, 2004 1 commit
    • David Schleef's avatar
      Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H · 2b031526
      David Schleef authored
      Original commit message from CVS:
      * ext/ffmpeg/gstffmpeg.c:
      * ext/ffmpeg/gstffmpegcodecmap.c:
      * ext/ffmpeg/gstffmpegdec.c:
      * ext/ffmpeg/gstffmpegenc.c:
      * ext/ffmpeg/gstffmpegprotocol.c:
      * ext/gdk_pixbuf/gstgdkanimation.c:
      * ext/jpeg/gstjpeg.c:
      * ext/libpng/gstpng.c:
      * ext/mpeg2dec/perftest.c:
      * ext/speex/gstspeex.c:
      * gst-libs/gst/resample/dtos.c:
      * gst/intfloat/gstintfloatconvert.c:
      * gst/oneton/gstoneton.c:
      * gst/rtjpeg/RTjpeg.c:
      * gst/rtp/gstrtp.c:
      * sys/dxr3/dxr3init.c:
      * sys/glsink/gstgl_nvimage.c:
      * sys/glsink/gstgl_pdrimage.c:
      * sys/glsink/gstglsink.c:
      * testsuite/gst-lint:
      Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H
      2b031526
  11. 11 Jan, 2004 1 commit
  12. 01 Jan, 2004 1 commit
    • Ronald S. Bultje's avatar
      configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of... · e1c922ec
      Ronald S. Bultje authored
      configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1....
      
      Original commit message from CVS:
      2004-01-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
      
      * configure.ac:
      Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
      1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
      it therefore uses the wrong include paths. Too bad... Note
      that 1.6.1.93 is not release yet. ;).
      Also add a check for mplex, which is now using the lib'ified
      mplex from mjpegtools, too.
      * ext/ffmpeg/gstffmpegcodecmap.c:
      Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
      issues. I don't think ffmpeg handles 3ivx correctly, so this
      probably won't work. But it won't hurt either.
      * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
      (gst_ffmpegdec_chain):
      * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
      (gst_ffmpegenc_chain_audio):
      Fix memleak in audio encoding. Close codec if open fails, this
      calls the cleanup routines so we can re-use the context.
      * ext/mpeg2enc/gstmpeg2enc.cc:
      Fix pad template names/types, fix memory issue with getcaps().
      * ext/mpeg2enc/gstmpeg2encoder.cc:
      * ext/mpeg2enc/gstmpeg2encoder.hh:
      Fix compile issue with new caps system (const thingy).
      * ext/mpeg2enc/gstmpeg2encpicturereader.cc:
      * ext/mpeg2enc/gstmpeg2encpicturereader.hh:
      We read a first frame right on initing, so that we have a caps
      when we init the output. This caps is cached in padprivate and
      read as first frame.
      * ext/mplex/Makefile.am:
      * ext/mplex/gstmplex.cc:
      * ext/mplex/gstmplex.h:
      * ext/mplex/gstmplex.hh:
      * ext/mplex/gstmplexibitstream.cc:
      * ext/mplex/gstmplexibitstream.hh:
      * ext/mplex/gstmplexjob.cc:
      * ext/mplex/gstmplexjob.hh:
      * ext/mplex/gstmplexoutputstream.cc:
      * ext/mplex/gstmplexoutputstream.hh:
      We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
      had issues, didn't do capsnego, supported only a subset of the
      mplex features and required a mplex fork in our local CVS. Plus
      that it worked agaist a very old mplex version. Rewriting was
      faster than updating it.
      * gst-libs/ext/Makefile.am:
      * gst-libs/ext/mplex/INSTRUCT:
      * gst-libs/ext/mplex/Makefile.am:
      * gst-libs/ext/mplex/README:
      * gst-libs/ext/mplex/TODO:
      * gst-libs/ext/mplex/ac3strm_in.cc:
      * gst-libs/ext/mplex/audiostrm.hh:
      * gst-libs/ext/mplex/audiostrm_out.cc:
      * gst-libs/ext/mplex/aunit.hh:
      * gst-libs/ext/mplex/bits.cc:
      * gst-libs/ext/mplex/bits.hh:
      * gst-libs/ext/mplex/buffer.cc:
      * gst-libs/ext/mplex/buffer.hh:
      * gst-libs/ext/mplex/fastintfns.h:
      * gst-libs/ext/mplex/format_codes.h:
      * gst-libs/ext/mplex/inputstrm.cc:
      * gst-libs/ext/mplex/inputstrm.hh:
      * gst-libs/ext/mplex/lpcmstrm_in.cc:
      * gst-libs/ext/mplex/mjpeg_logging.cc:
      * gst-libs/ext/mplex/mjpeg_logging.h:
      * gst-libs/ext/mplex/mjpeg_types.h:
      * gst-libs/ext/mplex/mpastrm_in.cc:
      * gst-libs/ext/mplex/mpegconsts.cc:
      * gst-libs/ext/mplex/mpegconsts.h:
      * gst-libs/ext/mplex/mplexconsts.hh:
      * gst-libs/ext/mplex/multplex.cc:
      * gst-libs/ext/mplex/outputstream.hh:
      * gst-libs/ext/mplex/padstrm.cc:
      * gst-libs/ext/mplex/padstrm.hh:
      * gst-libs/ext/mplex/stillsstream.cc:
      * gst-libs/ext/mplex/stillsstream.hh:
      * gst-libs/ext/mplex/systems.cc:
      * gst-libs/ext/mplex/systems.hh:
      * gst-libs/ext/mplex/vector.cc:
      * gst-libs/ext/mplex/vector.hh:
      * gst-libs/ext/mplex/videostrm.hh:
      * gst-libs/ext/mplex/videostrm_in.cc:
      * gst-libs/ext/mplex/videostrm_out.cc:
      * gst-libs/ext/mplex/yuv4mpeg.cc:
      * gst-libs/ext/mplex/yuv4mpeg.h:
      * gst-libs/ext/mplex/yuv4mpeg_intern.h:
      * gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
      We don't fork mjpegtools' mplex in our CVS anymore.
      * gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
      (gst_avi_demux_add_stream):
      * gst/avi/gstavidemux.h:
      Add getcaps() function for proper caps nego. This makes some
      parts of AVI playback/reading work.
      * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
      Resize window on new capsnego. This is probably wrong, but
      I'm still committing it because with current capsnego, the
      first successfull capsnego is auto-fixated, therefore rounded
      down to the lowest values in the caps. this results in a 16x16
      XWindow that is not reized when real capsnego finishes.
      Dave, I see more cases of this, do you know a proper solution?
      * tools/gst-launch-ext.in:
      Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
      e1c922ec
  13. 24 Dec, 2003 1 commit
    • Ronald S. Bultje's avatar
      ext/ffmpeg/: fix typo in RGB masks, and move back to "old" colorspace capsnego... · 2a754af3
      Ronald S. Bultje authored
      ext/ffmpeg/: fix typo in RGB masks, and move back to "old" colorspace capsnego code until whoever wrote this new crap...
      
      Original commit message from CVS:
      2003-12-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
      
      * ext/ffmpeg/gstffmpegcodecmap.c:
      * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps),
      (gst_ffmpegcsp_srcconnect_func), (gst_ffmpegcsp_sinkconnect),
      (gst_ffmpegcsp_srcconnect), (gst_ffmpegcsp_get_type),
      (gst_ffmpegcsp_base_init), (gst_ffmpegcsp_class_init),
      (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain),
      (gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property),
      (gst_ffmpegcsp_get_property), (gst_ffmpegcsp_register):
      fix typo in RGB masks, and move back to "old" colorspace
      capsnego code until whoever wrote this new crap has actually
      tested it so that it works.
      And yes, this works, keep it that way please.
      2a754af3
  14. 22 Dec, 2003 1 commit
  15. 18 Dec, 2003 1 commit
  16. 17 Dec, 2003 1 commit
  17. 28 Nov, 2003 1 commit
  18. 27 Nov, 2003 1 commit
  19. 25 Nov, 2003 2 commits
  20. 12 Nov, 2003 1 commit
    • Ronald S. Bultje's avatar
      Several encoding changes: for video, double check the pix_fmt after opening... · 199e7f14
      Ronald S. Bultje authored
      Several encoding changes: for video, double check the pix_fmt after opening the AVCodec. The pix_fmt will be changed ...
      
      Original commit message from CVS:
      Several encoding changes:
      * for video, double check the pix_fmt after opening the AVCodec. The pix_fmt
      will be changed to the preferred pix_fmt instead of that opening the
      codec fails. We fail when it has changed (then, ffmpeg doesn't like it).
      * for video, set the correct timestamp.
      * for audio, do *not* set the frame_size: most codecs don't like it. Instead,
      keep a cache of buffers and always give data of size "frame_size". Maybe
      I should have used bytestream here, I'm not sure. This works, though.
      I can now create mpeg1 video, mp2 and ac3 audio. I didn't test any others yet.
      I also didn't start working on integration with any of the muxers yet, that's
      all one big TODO. One thing at a time, please. :).
      199e7f14
  21. 10 Nov, 2003 1 commit
    • Benjamin Otte's avatar
      some fixes: · d26aa5ad
      Benjamin Otte authored
      Original commit message from CVS:
      some fixes:
      - put back a fix to make generic audio caps fixed.
      - read out all of the flags when constructing wma extradata
      d26aa5ad
  22. 07 Nov, 2003 1 commit
  23. 05 Nov, 2003 2 commits
  24. 04 Nov, 2003 1 commit
  25. 31 Oct, 2003 1 commit
  26. 26 Oct, 2003 2 commits
    • Ronald S. Bultje's avatar
      Re-enable realaudio codecs, improve decoder naming and add mpeg2aac decoder...... · c92678bb
      Ronald S. Bultje authored
      Re-enable realaudio codecs, improve decoder naming and add mpeg2aac decoder... Now to find out why it still doesn't l...
      
      Original commit message from CVS:
      Re-enable realaudio codecs, improve decoder naming and add mpeg2aac decoder... Now to find out why it still doesn't list itself after gst-register'ing...
      c92678bb
    • Ronald S. Bultje's avatar
      Make it compile against latest CVS of FFMPEG: · 8358d67b
      Ronald S. Bultje authored
      Original commit message from CVS:
      Make it compile against latest CVS of FFMPEG:
      * Put gst/gst.h above avcodec.h because it needs some types defined in glib.h
      * Remove HQ (removed from lavc) property
      
      Also add some functions to make SVQ1 decoding work:
      * Add YUV9 colorspace
      * Let lavc do its own buffer allocation and copy from there instead of using
      our own buffer allocation functions. Somehow, that breaks. I don't know
      why.
      8358d67b
  27. 22 Oct, 2003 1 commit
  28. 07 Jul, 2003 1 commit
  29. 06 Jul, 2003 1 commit
    • Ronald S. Bultje's avatar
      New mimetypes gone into effect today - this commit changes all old mimetypes... · d1c36f17
      Ronald S. Bultje authored
      New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
      
      Original commit message from CVS:
      New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
      d1c36f17
  30. 17 Jun, 2003 1 commit
  31. 16 Jun, 2003 1 commit
  32. 09 Jun, 2003 1 commit
  33. 08 Jun, 2003 1 commit
    • Ronald S. Bultje's avatar
      MPEG4AAC is MPEG-4 audio, not video, and implement a _formatid_to_caps()... · aede10be
      Ronald S. Bultje authored
      MPEG4AAC is MPEG-4 audio, not video, and implement a _formatid_to_caps() function which tracks a GstCaps to a format ...
      
      Original commit message from CVS:
      MPEG4AAC is MPEG-4 audio, not video, and implement a _formatid_to_caps() function which tracks a GstCaps to a format name (muxing format etc.), useful for setting caps on demuxers
      aede10be
  34. 07 Jun, 2003 2 commits
    • Ronald S. Bultje's avatar
      Add a caps_to_codecid() function to read properties from a caps function for... · c3b5d3f3
      Ronald S. Bultje authored
      Add a caps_to_codecid() function to read properties from a caps function for use in _connect() functions
      
      Original commit message from CVS:
      Add a caps_to_codecid() function to read properties from a caps function for use in _connect() functions
      c3b5d3f3
    • Ronald S. Bultje's avatar
      remove gstffmpegdecall. This was a temporary hack to get around some issues... · 80924bdf
      Ronald S. Bultje authored
      remove gstffmpegdecall. This was a temporary hack to get around some issues with our video/avi-centered mimetype syst...
      
      Original commit message from CVS:
      * remove gstffmpegdecall. This was a temporary hack to get around
      some issues with our video/avi-centered mimetype system. Now that
      we use proper identifiers, we don't need that piece of cruft anymore.
      * update ffmpeg codec map for ffdec_*, plus make the uncompressed stream
      caps also be formed by the codec mapper (this is easier to handle imo).
      * add audio support (untested, though :P).
      * remove the copying of buffer content and add a get_buffer() handler
      instead.
      * add an int to ffmpegenc to make it compile and resolve the symbol. I'll
      truely fix that later on.
      * make mimetypes in the ffmpeg codec mapper conform to docs/random/mimetypes
      * etc.
      
      Oh, and let's not forget that it can play back DIVX5 et all nicely. Support
      for SVQ1/3 is also there, so if someone completes qtdemux, we can watch
      these, too.
      80924bdf
  35. 29 May, 2003 1 commit