gstreamer/NEWS

444 lines
18 KiB
Text
Raw Normal View History

This is GStreamer 0.10.9, "On the road again"
Changes since 0.10.8:
* The testsuite can now generate coverage information
* Better support for non-linear editing
* Removed Glib 2.6 compatibility
* Performance improvements on cpus that support branch hints
* Bug fixes
Bugs fixed since 0.10.8:
* 346730 : some warnings about enums and macros
* 341029 : Ghostpads internal and target should be linked from the b...
* 346192 : [PATCH] Pad blocking on events
* 347384 : [ghostpad] padtemplates shouldn't be set automatically
* 344115 : [patch] make more internal data const
* 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
* 330379 : Bogus commits to basesink, basetransform, collectpads
* 341667 : restore_from_xml breaks pad links again after creating them
* 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
* 344748 : Fails with non-writable registry
* 344849 : GstController doesn't handle float properties correct
* 345086 : [gst-feedback] calls un-versioned tools
* 346097 : SIGSEGV when using --gst-plugin-load
* 347337 : GDP does not correctly deserialize events without a struc...
* 347408 : basesrc causes regressions in pull with 0 bytes
* 345720 : Bad performance playing files off CD
* 331727 : make probes and Ghostpads more elegant
* 343196 : basetransform not handles ro/rw buffer flagging for trans...
* 346663 : Segmentation error with fakesrc, fakesink and a filter
Changes since 0.10.7:
* Important fix for registry update causing applets not to load
Bugs fixed since 0.10.7:
* 344474 : Gnome Mixer Applet doesn't want to load
Changes since 0.10.6:
* Registry cache updating is now done in a fork, so no plugins are left
opened
* New version of data protocol now serializes events
* queue fixes
* win32 fixes
Bugs fixed since 0.10.6:
* 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
* 343598 : undefined symbol in coreindexers when using --disable-loa...
* 336929 : GstCollectPads does not clear/reset segment info after fl...
* 337100 : [fakesink] add " preroll-handoff " signal
* 339918 : GstTagSetter merge-mode description unclear, and implemen...
* 340501 : [filesrc] give primary rank
* 341662 : gst-launch print_tags() fix
* 342238 : API: gst_element_seek_simple
* 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
* 342777 : rebuilding the registry leaves all plugins in memory
* 342820 : gstnetclientclock.c(453): servaddr used before set
* 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
* 343341 : [API] add GST_TAG_PREVIEW_IMAGE
* 343827 : leak in gst_index_gtype_resolver
* 343929 : Use of // in public header
* 343988 : data protocol needs extending to handle events better
* 341479 : Too many plugins loaded even for up-to-date registry
* 343334 : GstCollectPads testsuite and fixes
* 343538 : GstCollectPads doesn't reset EOS fields when stopped
API added since 0.10.6:
* gst_element_seek_simple()
* GST_FLOW_CUSTOM_SUCCESS
* GST_FLOW_CUSTOM_ERROR
* GST_FLOW_IS_SUCCESS
* gst_collect_pads_set_flushing()
* GST_TAG_PREVIEW_IMAGE
* gst_dp_crc()
* GstDPPacketizer
* GstDPVersion
* GstFakeSink::preroll-handoff
* GstFakeSink::use-mmap
Changes since 0.10.5:
* Fixes for the collectpads helper
* Support for proper time recording on server-trickmode streams
via the applied_rate parameter of the NewSegment event
* Many bug fixes
Bugs fixed since 0.10.5:
* 339808 : [patch] mem-leak of bin in gstbin.c
* 338339 : [patch] registry cache is always written
* 339843 : [patch] fdsink should not handle short writes and non fat...
* 340016 : does not build on opensolaris, must always include config...
* 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
* 340174 : locking problem in gstbasesink
* 340460 : gst-launch no longer supports --version
* 340508 : remove glib pre 2.8 hacks and compat stuff
* 340604 : gst_mini_object_ref () docs make no mention of writeability
* 340608 : leaking caps in padtemplate
* 340697 : gstsystemclock hangs when outputting to stdout via fdsink
* 340721 : API: add GST_TAG_IMAGE
* 340772 : [qtdemux] bails out on Meet The Robinsons trailer
* 341556 : gst-launch: print image tags in a human readable form
* 339821 : [patch] serializing a GValue with a NULL buffer crashes
API added since 0.10.5:
* gst_adapter_take_buffer()
* GST_TAG_IMAGE tag added.
* gst_event_new_new_segment_full()
* gst_event_parse_new_segment_full()
* GstSegment::applied_rate field
* gst_segment_set_newsegment_full()
Changes since 0.10.4:
* QoS in BaseTransform
* gcc 4.1 fixes
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.10.4:
* 131079 : [PATCH] [api] loading a class leaves elementfactory blank
* 317048 : gstreamer Cygwin build fixes
* 325599 : Build fails with GCC 4.1
* 327315 : GStreamer CVS head files to build with GCC 4.1
* 331248 : [basesink] filesink spews warnings when used with flacenc
* 332151 : xml registry loader should use mmap() where possible
* 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
* 332986 : Something wrong in caps checking...
* 334109 : pkg-config files must link with the same check library th...
* 334303 : Stale libgnomeui check in configure
* 334434 : Missing functions in def files for dlls
* 335195 : GST_BOILERPLATE_FULL etc isn' optimised
* 335480 : start with debugging disabled
* 335513 : totem goes (and stays) out of sync when running bittorrent
* 336336 : [queue] Queue might block in EOS
* 336945 : [filesink] throws error when writing 0 bytes
* 337103 : small cleanup in gstplugin.c
* 337386 : Pipeline bus is not initially flushing
* 338711 : Internal data flow error with latest updates for FC5 with...
* 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
* 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
API added since 0.10.4:
* gst_controller_unset_all()
* gst_pad_query_peer_position()
* gst_pad_query_peer_duration()
* gst_pad_query_peer_convert()
* GstBaseSink::async_play()
* GstBaseSrc::qos
* gst_base_sink_set_qos_enabled()
* gst_base_sink_is_qos_enabled()
* gst_base_transform_update_qos()
* gst_base_transform_set_qos_enabled()
* gst_base_transform_is_qos_enabled()
* gst_pipeline_get_delay()
* gst_pipeline_set_delay()
Changes since 0.10.3:
* Parallel installability with 0.8.x series
* Threadsafe design and API
* 33% of library size removed by parse change
* (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
Bugs fixed since 0.10.3:
* 323542 : GStreamer 0.10 hangs at EOS for all songs
* 320340 : triggering a gst_task_join from the streaming task can de...
* 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
* 324186 : Smarter (deterministic!) typefind decisions
* 324398 : varargs/valist functions aren't bindable
* 328873 : only one gst_bin_recalc_state allowed at a time
* 330899 : CVS directory in make dist tarball
* 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
* 330996 : basesrc emits EOS unconditionally when going to READY
* 331255 : Shrinking gst_parse_launch bloat
* 331898 : Basetranform is not reusable
* 332045 : API: GstPipeline needs API to disable flushing of its bu...
* 332277 : [filesrc] seek does not correct read position in non-mmap...
* 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
* 332723 : New API: gst_type_find_helper_for_buffer
* 333042 : New API: gst_type_find_helper_get_range
* 333266 : Registry file writing rewrite
* 333272 : tests should set G_SLICE=always-malloc now
* 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
* 333669 : Add pad accessor defines for GstBaseTransform
* 333779 : New API: add gst_uri_has_protocol
* 324818 : gst_registry_get_default doesn't sink newly created registry
* 330125 : _pad_send_event does not check flushing correctly
* 330684 : Add ability to emit sync-message without messing with the...
API added since 0.10.3:
* gst_pipeline_set_auto_flush_bus()
* gst_pipeline_get_auto_flush_bus()
* gst_uri_has_protocol()
* gst_pipeline_set_max_lateness()
* gst_pipeline_get_max_lateness()
* gst_pipeline_get_sync()
* gst_pipeline_do_sync()
* GST_BASE_TRANSFORM_SRC_PAD()
* GST_BASE_TRANSFORM_SINK_PAD()
* GstBaseSrc::check_get_range()
* GstBaseSink::max-lateness
* gst_type_find_helper_get_range()
* gst_type_find_helper_for_buffer()
* GST_MESSAGE_TYPE_NAME()
* GST_QUERY_TYPE_NAME()
* gst_bus_enable_sync_message_emission()
* gst_bus_disable_sync_message_emission()
Changes since 0.10.2:
* Documentation updates
* Bug fixes
* Base class improvements
* Extra utility API
* More elements ported from 0.8
* Fixes for win32 build.
Changes since 0.10.1:
* documentation updates
* bug fixes
Bugs fixed since 0.10.1:
* 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
* 316086 : MinGW compilation: fileindexer depends on mmap
Changes since 0.10.0:
* element factory leak fixes
* tests cleanup
* BaseSrc seeking in other format than BYTES
* collectpad fixes
Bugs fixed since 0.10.0:
* 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
* 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
* 323870 : [tools] gst-feedback needs updating for 0.9/0.10
* 323882 : gst-launch manpage needs updates
* 323905 : use return val of g_list_append
API added since 0.10.0:
* GST_TYPE_STATIC_CAPS
* GST_TYPE_STATIC_PAD_TEMPLATE
* GstNetTimeProvider::active
* gst_base_src_set_format
Changes from the 0.8 series to 0.10 series:
* Refcounting and API revised for thread safety, see rules in
docs/design/part-MT-refcounting.txt
* Scheduling is now done by the elements, they start/stop
processing threads themselves. This removes the need for
a separate scheduler.
* State changes now happen from sink to source. This makes sure
that downstream elements are ready to process data when upstream
starts producing.
* EOS/ERROR/... does not change the state of elements anymore. This
means that when the application sets the state on an element, it
remains in this state.
* GMainLoop integration. Information on the state of the pipeline
is now received in the mainloop via the GstBus.
* Events move separate from the datastream, this allows for both
in and out of sync delivery of events.
* Generic _pull() replaced by _pull_region() so that random access
can be made faster.
* data passing happens from PAUSED, called the preroll phase. In this
state no data is rendered but it is queued in the sinks.
* negotiation simplified. Caps are now attached to buffers and travel
along with the datastream.
* GstBuffer is now subclassable.
* Ghostpads now look and feel like real pads.
* New Seeking/flushing policy.
* Addition of base classes and helper functions in the core to abstract
away the harder parts of plugin development.
Changes since 0.9.7:
* added Traditional Chinese translation
Bugs fixed since 0.9.7:
* 322874 : [PAD] pad_alloc_buffer should not call set_caps
* 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
* 323250 : [collectpads] debug category should be called 'collectpad...
Changes since 0.9.6:
* bumped major/minor to 0.10
* API cleanup
* PluginFeature and TypeFind leak fixes
* cleaned up source tree
* added plugin documentation for core elements
* fixes for stripped core
Bugs fixed since 0.9.6:
* 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
* 321917 : quicktime with two video tracks and extra foo, makes tote...
* 322257 : Fix gstnet library name
* 322427 : gst-compprep aborts with 'double free or corruption'
* 322429 : Filesink seeking problem
* 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
* 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
* 322751 : gst_ghost_pad_get_target borks on pads without target
* 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
Changes since 0.9.5:
* API changes and clean-up
* Extensive documentation updates
* remove GLib 2.4 compatibility
* added clock selection
* added network clocking
* added fd:// URI handler
* added more fraction functionality
Bugs fixed since 0.9.5:
* 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
* 156633 : [API] don't use same API for arrays as for normal lists
* 164168 : circular pipeline fails to negotiate
* 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
* 168438 : [API] GstIndexFilter doesn't receive user_data
* 168494 : [API] gst_index_add_object() does nothing
* 305291 : Obnoxious bug-filing request
* 311489 : Possible gstghostpad locking problems
* 319178 : [API] finish filler events and support them in GstCollect...
* 319388 : 0.9 API changes tracker
* 319389 : state change updates obsolete some functions
* 319392 : GstEventType is not bindings-friendly
* 319395 : Macro name/visibility API bugs
* 319940 : Use GLIB macros for GCC extensions
* 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
* 320097 : GST_BUFFER_FLAG_ORIGINAL should die
* 320113 : [API] duration message changes
* 320299 : gst_pad_send_event should take stream lock for serialized...
* 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
* 320423 : [API] padding for GstCollectData
* 320766 : [API] collect pads API changes
* 321061 : GstURI not used
* 321235 : [API] GST_PAD_IS_USABLE should be removed
* 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
* 321452 : GstPad's " template " property is b0rked
* 321528 : capsfilter: assertion `caps != NULL' failed
* 321595 : GstBin doesn't clean the message queue when changing stat...
* 321638 : Don't use // style comments in headers
* 321648 : Wrong type check in gst_message_parse_clock_lost
* 321710 : GstClock resolution functions should take a GstClockTime
* 321712 : GstClock adjust function changes
* 321875 : gst_plugin_check_file disappeared
* 321950 : gst_registry_scan_paths lacks implementation
* 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
* 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
* 322034 : Elements should be updated not to take the stream lock in...
* 322069 : Names of GstTagSetter methods should be more descriptive
* 322134 : API master/slave clocks
* 322139 : our elements are confused about GEnumValue and which is t...
Changes since 0.9.4:
* gst_bus_poll and signal watch now see the same messages
* clock sync in BaseSrc class
* API documentation updates
* Bus reworked; signal API added
Bugs fixed since 0.9.4:
* 317341 : after linking ghost pads, one target pad does not have a ...
* 320774 : basesrc commit broke typefinding
Changes since 0.9.3:
* state lock redefined
* Extensive documentation updates
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.9.3:
* 111146 : new GstThread fails on pipeline with errors
* 169772 : [PATCH] GOption command-line parsing
* 170777 : use GST_TYPE_DATE for GST_TAG_DATE
* 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
* 315126 : filesrc + forced caps should be possible
* 315383 : gst-launch shouldn't run broken pipelines
* 317041 : GstObject flags should be made real flags
* 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
Changes since 0.9.2:
* gst-register has been removed
* Extensive documentation updates
* BaseTransform reworked
* Bus reworked; signal API added
Bugs fixed since 0.9.2:
* 102980 : support incremental gst-register/compprep updates
* 313897 : [0.9] registry rewrite
* 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
* 315895 : gst_pad_query_convert src_val check
* 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
* 316157 : MinGW compilation: Plugin exports
This is GStreamer 0.9.2, "South".
Bugs fixed since 0.9.1:
* 121015 : [api] gst_clock_entry_new() seems broken
* 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
* 142209 : [build] Large file support broken
* 154785 : Clock does not run if audio stream lacks data for a short...
* 305256 : [API] Change gst_element_seek to not mix enum/flags types
* 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
* 311004 : ghostpad bugginess
* 311009 : valgrind shows undesired messages
* 311848 : Renegotiation broken
* 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...