Merge remote-tracking branch 'origin/master' into 0.11

Conflicts:
	gst/gsttaglist.c
	plugins/elements/gstoutputselector.c
This commit is contained in:
Tim-Philipp Müller 2012-01-02 02:21:40 +00:00
commit 2836cbee94
5 changed files with 44 additions and 21 deletions

View file

@ -2319,6 +2319,7 @@ GST_TAG_ALBUM_GAIN
GST_TAG_ALBUM_PEAK
GST_TAG_REFERENCE_LEVEL
GST_TAG_LANGUAGE_CODE
GST_TAG_LANGUAGE_NAME
GST_TAG_IMAGE
GST_TAG_PREVIEW_IMAGE
GST_TAG_ATTACHMENT

View file

@ -282,7 +282,11 @@ _priv_gst_tag_initialize (void)
_("reference level of track and album gain values"), NULL);
gst_tag_register (GST_TAG_LANGUAGE_CODE, GST_TAG_FLAG_META, G_TYPE_STRING,
_("language code"),
_("language code for this stream, conforming to ISO-639-1"), NULL);
_("language code for this stream, conforming to ISO-639-1 or ISO-639-2"),
NULL);
gst_tag_register (GST_TAG_LANGUAGE_NAME, GST_TAG_FLAG_META, G_TYPE_STRING,
_("language name"),
_("freeform name of the language this stream is in"), NULL);
gst_tag_register (GST_TAG_IMAGE, GST_TAG_FLAG_META, GST_TYPE_SAMPLE,
_("image"), _("image related to this stream"), gst_tag_merge_use_first);
gst_tag_register (GST_TAG_PREVIEW_IMAGE, GST_TAG_FLAG_META, GST_TYPE_SAMPLE,

View file

@ -700,9 +700,24 @@ gboolean gst_tag_list_get_buffer_index (const GstTagList * list,
/**
* GST_TAG_LANGUAGE_CODE:
*
* Language code (ISO-639-1) (string) of the content
* ISO-639-2 or ISO-639-1 code for the language the content is in (string)
*
* There is utility API in libgsttag in gst-plugins-base to obtain a translated
* language name from the language code: gst_tag_get_language_name()
*/
#define GST_TAG_LANGUAGE_CODE "language-code"
/**
* GST_TAG_LANGUAGE_NAME:
*
* Name of the language the content is in (string)
*
* Free-form name of the language the content is in, if a language code
* is not available. This tag should not be set in addition to a language
* code. It is undefined what language or locale the language name is in.
*
* Since: 0.10.37
*/
#define GST_TAG_LANGUAGE_NAME "language-name"
/**
* GST_TAG_IMAGE:
*

View file

@ -374,7 +374,8 @@ gst_output_selector_switch (GstOutputSelector * osel)
/* Switch */
GST_OBJECT_LOCK (GST_OBJECT (osel));
GST_INFO ("switching to pad %" GST_PTR_FORMAT, osel->pending_srcpad);
GST_INFO_OBJECT (osel, "switching to pad %" GST_PTR_FORMAT,
osel->pending_srcpad);
if (gst_pad_is_linked (osel->pending_srcpad)) {
osel->active_srcpad = osel->pending_srcpad;
res = TRUE;
@ -385,25 +386,27 @@ gst_output_selector_switch (GstOutputSelector * osel)
/* Send SEGMENT event and latest buffer if switching succeeded
* and we already have a valid segment configured */
if (res && osel->segment.format != GST_FORMAT_UNDEFINED) {
/* Send SEGMENT to the pad we are going to switch to */
seg = &osel->segment;
/* If resending then mark segment start and position accordingly */
if (osel->resend_latest && osel->latest_buffer &&
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
} else {
start = position = seg->position;
}
if (res) {
if (osel->segment.format != GST_FORMAT_UNDEFINED) {
/* Send SEGMENT to the pad we are going to switch to */
seg = &osel->segment;
/* If resending then mark segment start and position accordingly */
if (osel->resend_latest && osel->latest_buffer &&
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
} else {
start = position = seg->position;
}
seg->start = start;
seg->position = position;
ev = gst_event_new_segment (seg);
seg->start = start;
seg->position = position;
ev = gst_event_new_segment (seg);
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
GST_WARNING_OBJECT (osel,
"newsegment handling failed in %" GST_PTR_FORMAT,
osel->active_srcpad);
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
GST_WARNING_OBJECT (osel,
"newsegment handling failed in %" GST_PTR_FORMAT,
osel->active_srcpad);
}
}
/* Resend latest buffer to newly switched pad */

View file

@ -264,7 +264,7 @@ coverage-report:
coverage/$$dir/index.xml > coverage/$$dir/index.html; \
fi; \
done
for file in $(COVERAGE_FILES_REL); do \
echo Generating coverage/$$file.html; \
perl $(top_srcdir)/common/coverage/coverage-report-entry.pl \