From 9b0e3cf7574a01d68a13df30cd621435095c3a11 Mon Sep 17 00:00:00 2001 From: Emmanuel BUU Date: Mon, 4 Jan 2016 23:03:09 +0100 Subject: [PATCH 1/2] ability to change chroma of video producer in bindings --- bindings/_common/ProxyProducer.cxx | 11 +++++++++++ bindings/_common/ProxyProducer.h | 1 + 2 files changed, 12 insertions(+) diff --git a/bindings/_common/ProxyProducer.cxx b/bindings/_common/ProxyProducer.cxx index 2cdb95246..addf46fa7 100755 --- a/bindings/_common/ProxyProducer.cxx +++ b/bindings/_common/ProxyProducer.cxx @@ -543,6 +543,17 @@ bool ProxyVideoProducer::setRotation(int nRot) return false; } +bool ProxyVideoProducer::setChroma(tmedia_chroma_t eChroma) +{ + m_eChroma = eChroma; + if (m_pWrappedPlugin) { + TMEDIA_PRODUCER(m_pWrappedPlugin)->video.chroma = eChroma; + return true; + } + return false; +} + + bool ProxyVideoProducer::getMirror()const { return m_bMirror; diff --git a/bindings/_common/ProxyProducer.h b/bindings/_common/ProxyProducer.h index 83ed673b6..59b954184 100755 --- a/bindings/_common/ProxyProducer.h +++ b/bindings/_common/ProxyProducer.h @@ -128,6 +128,7 @@ class ProxyVideoProducer : public ProxyPlugin bool setRotation(int nRot); bool getMirror()const; bool setMirror(bool bMirror); + bool setChroma(tmedia_chroma_t eChroma); bool setActualCameraOutputSize(unsigned nWidth, unsigned nHeight); int push(const void* pBuffer, unsigned nSize); void setCallback(ProxyVideoProducerCallback* pCallback) { m_pCallback = pCallback; } From df3370915996f2c9779fb8906d5ef4d358f1c012 Mon Sep 17 00:00:00 2001 From: Emmanuel BUU Date: Fri, 8 Jan 2016 11:16:07 +0100 Subject: [PATCH 2/2] uses tmedia_defaults_get_video_fps() instead of hardcoded 15 fps --- tinyMEDIA/src/tmedia_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinyMEDIA/src/tmedia_common.c b/tinyMEDIA/src/tmedia_common.c index 1e9faefb3..1a71bdcd5 100755 --- a/tinyMEDIA/src/tmedia_common.c +++ b/tinyMEDIA/src/tmedia_common.c @@ -303,7 +303,7 @@ int tmedia_parse_video_fmtp(const char* fmtp, tmedia_pref_video_size_t pref_vs, // set default values best_vs = fmtp_sizes[(sizeof(fmtp_sizes)/sizeof(fmtp_sizes[0])) - 1].pref_vs /* last = lowest resolution */; ret = tmedia_video_get_size(pref_vs, width, height); - *fps = 15; + *fps = tmedia_defaults_get_video_fps(); if((params = tsk_params_fromstring(fmtp, ";", tsk_true))){ // set real values @@ -316,7 +316,7 @@ int tmedia_parse_video_fmtp(const char* fmtp, tmedia_pref_video_size_t pref_vs, *width= fmtp_sizes[i].width; *height = fmtp_sizes[i].height; *fps = atoi(param->value); - *fps = *fps ? 30/(*fps) : 15; + *fps = *fps ? 30/(*fps) : tmedia_defaults_get_video_fps(); ret = 0; best_vs = fmtp_sizes[i].pref_vs; // rfc 4629 section 8.2.1: Parameters offered first are the most preferred picture mode to be received.